BigDecimal精度損失


我們都知道BigDecimal可以精確計算避免精度損失,這里記錄一下BigDecima出現精度損失的情況,

使用BigDecimal(Double value)構造BigDecimal對象時,

因為double本身就無法精確的表示某些小數,

導致其傳入的本就不是一個准確的數,

所以構造方法也沒辦法把你構造一個准確表示該浮點數的BigDecimal對象.

並不是BigDecimal丟失精度,而是本身就有可能在構造時傳入一個無法確定表示的浮點數。

在使用BigDecimal時,建議使用new BigDecimal(String value)或者

new BigDecimal.valueOf(Double value)來構造BigDecimal對象。

習慣這樣用

BigDecimal all = new BigDecimal(tryOutNumByRegion+"");

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM