用于解决小数运算中,出现的不精确问题。
创建对象
new BigDecimal(double val):不用,无法解决不精确问题。
new BigDecimal(String val):推荐
BigDecimal.valueOf(double val):推荐
常用方法
加法:add(BigDecimal b)
减法:subtract(BigDecimal b)
乘法:multiply(BigDecimal b)
除法:divide(BigDecimal b):注意除不尽会抛异常;
divide(BigDecimal b, 小数点精确位数,舍入模式 )
BigDecimal b1 = BigDecimal.valueOf(10.0);BigDecimal b2 = BigDecimal.valueOf(3.0);System.out.println(b1.divide(b2, 2, RoundingMode.HALF_UP));//3.33System.out.println(b1.divide(b2, 2, RoundingMode.UP));//3.34System.out.println(b1.divide(b2, 2, RoundingMode.DOWN));//3.33
转为double类型:doubleValue()
double v = b.doubleValue();