1.将Double 或 long 转成BigDecimal : BigDecimal.valueOf(double 或 long)
加法函数:add() 例:a.add(b)
减法函数:subtract() 例:a.subtract(b)
乘法函数:multiply() 例:a.multiply(b)
除法函数:divide() 例:a.divide(b)
绝对值函数:abs() 例:a.abs(b)
使用BigDecimal类构造方法传入double类型时,计算的结果也是不精确的
因为不是所有的浮点数都能够被精准的表示成一个double类型的值,有些浮点数值不能够被精确的表示成double类型的值
因此它会被表示成与他最接近的double类型的值,必须改用传入String的构造方法
BigDecimal b=new BigDecimal(0.0000000000000000005);
BigDecimal b=new BigDecimal("0.0000000000000000005");
https://blog.csdn.net/haiyinshushe/article/details/82721234