首頁 > Java > java教程 > 為什麼Java的Double會產生捨入不準確,BigDecimal如何解決?

為什麼Java的Double會產生捨入不準確,BigDecimal如何解決?

Patricia Arquette
發布: 2024-12-16 21:25:12
原創
634 人瀏覽過

Why Does Java's Double Produce Inaccurate Rounding, and How Can BigDecimal Solve It?

如何克服 Java 舍入雙精度異常

在 Java 中,浮點計算有時會導致意外的捨入問題。為了說明這一點,讓我們檢查以下程式碼:

dCommission 的預期值為 877.85,但實際結果稍有不準確,為 877.8499999999999。為了解決這個問題,我們需要採用更精確的計算。

解決方案在於利用java.math.BigDecimal。此類別提供對浮點運算精度的控制。這是使用 BigDecimal 的程式碼的更新版本:

使用 BigDecimal,結果準確地反映了預期值:

以上是為什麼Java的Double會產生捨入不準確,BigDecimal如何解決?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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