BigDecimal的使用
方法
add()
add(BigDecimal augent)
BigDecimal的对象值相加
用法:以下方法类似
BigDecimal start = new BigDecimal(0.01);
start.add(BigDecimal.valueOf(0.02));
System.out.printf(start);
结果:0.03
subtract()
subtract(BigDecimal augent)
BigDecimal的对象值相减
multiply()
multiply(BigDecimal augent)
BigDecimal的对象值相乘
divide()
divide(BigDecimal augent)
BigDecimal的对象值相除
注意:如果商是无限长的小数,例如1 / 3,就会抛出Non-terminating decimal expansion; no exact representable decimal result.异常。为避免这种情况,请选择合适的策略。
例如:1/ 3,想要保留6位小数
BigDecimal result = BigDecimal.valueOf(1)
.divide(BigDecimal.valueOf(3), 6, BigDecimal.ROUND_DOWN);
result = 0.333333
详细策略见BigDecimal除法后保留两位小数