如何克服 Java 舍入雙精度異常
在 Java 中,浮點計算有時會導致意外的捨入問題。為了說明這一點,讓我們檢查以下程式碼:
dCommission 的預期值為 877.85,但實際結果稍有不準確,為 877.8499999999999。為了解決這個問題,我們需要採用更精確的計算。
解決方案在於利用java.math.BigDecimal。此類別提供對浮點運算精度的控制。這是使用 BigDecimal 的程式碼的更新版本:
使用 BigDecimal,結果準確地反映了預期值:
以上是為什麼Java的Double會產生捨入不準確,BigDecimal如何解決?的詳細內容。更多資訊請關注PHP中文網其他相關文章!