ArithmeticException - 没有可确切表示的小数结果
@本文章运行于Java 8下
ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result.
- 在什么情况下抛出该异常
BigDecimal a = new BigDecimal("1.6");
BigDecimal b = new BigDecimal("9.2");
a.divide(b)
2.引发该异常的原因
1.BigDecimal 是一个由用户完全控制舍入行为的类,如果用户没有明确知道舍入模式,则抛出异常。
2.如果把MathContext 精度设置为0,则不会出现精度问题,因为该设置将不会使用精度计算,也就是不保留小数位。
3.Java 5 之前只支持这个行为,但是