BigDecimal精确计算数值
使用float
或者double
进行计算时,会丢失精度,例如
double a = 0.05;
double b = 0.01;
System.out.println(a + b);
结果输出为0.060000000000000005
,这就是因为精度的问题才会产生这样的计算结果。那么,此时可以使用BigDecimal
来防止精度的丢失问题。
但是,对于float
或者是double
类型,不建议直接使用BigDecimal
的构造方法形式,可以使用其提供的valueOf
方法。
BigDecimal v1 = BigDecimal.valueOf(0.05);
BigDecimal v2 = BigDecimal.valueOf(0.01);
如果您觉得本文对您有用,欢迎捐赠或留言~
- 本博客所有文章除特别声明外,均可转载和分享,转载请注明出处!
- 本文地址:https://www.leevii.com/?p=1353