使用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);
如果觉得我的文章对您有用,请您随意打赏。您的支持将鼓励我更加努力创作!
如无特殊声明,文章均为原创,若有不正之处,万望告知。转载请附上原文地址,十分感谢!