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