double和float为什么不能精确计算
在计算机中,为了提高运算效率,数值型使用二进制进行运算,但是对于double和float这类小数来说,不是所有的十进制数都能转化为有限位二进制数的,也就是十进制整数在转化成二进制数时会有精度问题,常会使用近似值替代原小数完成运算,这就导致使用double和floa进行计算可能出现误差。
相关知识:
BigDecimal的基础使用
构造器
-
BigDecimal(int)
创建一个具有参数所指定整数值的对象
-
BigDecimal(double)
创建一个具有参数所指定双精度值的对象
-
BigDecimal(long)
创建一个具有参数所指定长整数值的对象
-
BigDecimal(String)
创建一个具有参数所指定以字符串表示的数值的对象
注意:对于小数,推荐使用BigDecimal(double)而不推荐使用BigDecimal(String)
加减乘除
-
BigDecimal add(BigDecimal):加法。将BigDecimal对象中的值加上入参,然后返回
-
BigDecimal subtract(BigDecimal):减法。将BigDecimal对象中的值减去入参,然后返回
-
BigDecimal multiply(BigDecimal)&#