首頁 >Java >java教程 >如何格式化浮點數以避免不必要的尾隨零?

如何格式化浮點數以避免不必要的尾隨零?

Barbara Streisand
Barbara Streisand原創
2024-12-21 17:28:10770瀏覽

How Can I Format Floating-Point Numbers to Avoid Unnecessary Trailing Zeros?

透過精確控制格式化浮點數

處理浮點數時,通常需要美觀地格式化它們,而不使用不必要的小數零。考慮列印一系列值的任務,其中包括儲存為雙精度數和真正雙精度數的整數。

避免使用特定格式代碼的尾隨零

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn