首頁 > Java > java教程 > 如何在 Java 中正確地將雙精度數舍入到小數點後兩位?

如何在 Java 中正確地將雙精度數舍入到小數點後兩位?

Mary-Kate Olsen
發布: 2024-11-30 07:35:16
原創
731 人瀏覽過

How to Correctly Round Doubles to Two Decimal Places in Java?

Java 中四捨五入到兩位小數

許多開發人員在嘗試在Java 中將浮點數四捨五入到特定小數位時遇到挑戰。當所需的輸出必須保持雙精度時尤其如此。

一個常見的方法涉及利用 Math.round(),如以下程式碼所示:

class Round {
    public static void main(String[] args) {

        double a = 123.13698;
        double roundOff = Math.round(a * 100) / 100;
        
        System.out.println(roundOff);
    }
}
登入後複製

但是,這種方法常常無法產生預期的結果。它不是四捨五入到 123.14,而是輸出 123。

要修正此問題,需要對第 4 行稍作修改:

double roundOff = Math.round(a * 100.0) / 100.0;
登入後複製

透過將 .0 加到乘法因子,結果轉換為具有兩位小數的雙精度型。這確保了最終結果也有兩位數小數。

或者,按照@Rufein的建議,可以將舍入值轉換為雙精度:

double roundOff = (double) Math.round(a * 100) / 100;
登入後複製

這種方法也可以有效地產生所需的輸出123.14 具有兩位小數。

以上是如何在 Java 中正確地將雙精度數舍入到小數點後兩位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板