安卓集中营安卓开发安卓开发

正确使用BigDecimal方式(避免出现精度问题)

2019-01-23  本文已影响1人  蓝不蓝编程

正确的使用方式:

使用字符串调用BigDecimal构造函数或者采用valueOf,但是不要直接将数字作为构造函数参数。

BigDecimal correctWay1 = new BigDecimal("0.1");
BigDecimal correctWay2 = BigDecimal.valueOf(0.1);

错误的使用方式

BigDecimal wrongWay = new BigDecimal(0.1);

原因:采用上述构造方式,0.1是当成double传入的,double做科学计算的时候精度是有问题的,详见:https://www.cnblogs.com/cblogs/p/double-precision.html

两种方式使用对比图

参考

【超详细】解释BigDecimal精度的坑
java中double和float精度丢失问题及解决方法

安卓开发技术分享: https://www.jianshu.com/p/442339952f26

上一篇下一篇

猜你喜欢

热点阅读