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