透過精確控制格式化浮點數
處理浮點數時,通常需要美觀地格式化它們,而不使用不必要的小數零。考慮列印一系列值的任務,其中包括儲存為雙精度數和真正雙精度數的整數。
避免使用特定格式代碼的尾隨零
While String.format(" %f", value) 可能看起來合適,它為小值附加尾隨零。為了達到所需的精度,請考慮使用替代格式代碼:
帶小數檢查的自訂格式函數
為了精確控制,請實現區分整數和整數的自訂格式函數doubles:
public static String fmt(double d) { if (d == (long) d) return String.format("%d", (long) d); else return String.format("%s", d); }
此函數檢查double 值是否表示整數(使用強制轉換為long)。如果是,它會使用 String.format("%d"); 將值格式化為整數。否則,它會格式化雙精度值,而不會產生不必要的精度。
輸出範例:
使用此自訂函數,可以實現所需的輸出:
232 0.18 1237875192 4.58 0 1.2345
相關區域設定注意事項的注意事項
字串格式為區域設定敏感。精確的格式化結果可能會因區域設定而異。
以上是如何格式化浮點數以避免不必要的尾隨零?的詳細內容。更多資訊請關注PHP中文網其他相關文章!