Java浮点数的加减乘除运算
概述
如果直接进行浮点数之间的运算,有可能会得不到正确结果
Java浮点数优先使用double,先把double转化为String,然后通过BigDecimal的构造方法转化为BigDecimal
最后进行加减乘除的运算使用BigDecimal这个类的方法:
加
public BigDecimal add(BigDecimal augend)
传入的参数为加数
减
public BigDecimal subtract(BigDecimal subtrahend)
传入的参数为减数
乘
public BigDecimal multiply(BigDecimal multiplicand)
传入的参数为乘数
除
public BigDecimal divide(BigDecimal divisor,int scale,int roundingMode)
传入的参数一为除数,参数二为保留的小数位数,参数三为舍入的模式(各种模式看下图)
代码实现
1 | import java.math.BigDecimal; |
PS.
进行除法运算时,一定要指定保留的小数位数和舍入的模式
如果使用public BigDecimal divide(BigDecimal divisor)
这个方法,当除不尽时(即结果的小数无限),会报错,报错信息如下图:
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 LeDao's Blog!
评论