贊助商連結

Java Math

四捨五入

詳見玩Web無窮(Enjoy Web Tech): Java 中四種四捨五入的比較 [備份]

結論是

結論:這四種方法的效果如下
(1)Math.round()
正數時四捨五入,負數時五捨六入
(2)DecimalFormat.format()
四捨六入五成雙。五成雙的意思是,當要進位或捨去的那一位數剛好是 5 時,在進位或捨去後必須尾數雙數
(3)BigDecimal(double).setScale()
基本上是四捨五入,但有時五會是捨,無法檢簡的歸出一個邏輯,主因是 double 的值有時實際上不是我們認為的值,而是非常接近我們認為的值
(3)BigDecimal(String).setScale()
精確的四捨五入

NaN問題

在使用 java.lang.Math 進行運算時有許多可能會出現 NaN (Not a Number),出現 NaN 請詳閱 Java API,瞭解給的參數是否有問題。