優雅地格式化浮點數,而不使用無關的小數零
在Java 程式設計領域,格式化浮點數可能會帶來挑戰,尤其是當處理儲存為雙精度數和實際雙精度數的整數的混合。預設格式化方法 String.format("%f") 通常會為小值引入尾隨零,從而扭曲所需的輸出。
一種解決方案是採用區分整數和雙精度的自訂格式化方法。這可以透過條件評估來實現:
public static String fmt(double d) { if (d == (long) d) return String.format("%d", (long) d); else return String.format("%s", d); }
此方法以所需的最小精度將整數返回為整數和雙精度數,從而產生所需的輸出:
232 0.18 1237875192 4.58 0 1.2345
透過利用條件格式,這種方法避免了與字串操作相關的效能損失,並確保整數和雙精度的準確表示
警告:請注意,Java 中的字串格式可能與區域設定相關,因此提供的解決方案可能需要根據應用程式的區域設定進行相應調整。
以上是如何在 Java 中優雅地格式化浮點數而不使用不必要的小數零?的詳細內容。更多資訊請關注PHP中文網其他相關文章!