[转]BigDecimal不整除异常

通过BigDecimal的divide方法进行除法时当不整除,出现无限循环小数时,就会抛异常的

异   常 :java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result.
应用场景:1/3=0.3333333333....
解决之道:就是给divide设置精确的小数点divide(xxxxx,2, BigDecimal.ROUND_HALF_EVEN)

原     型:BigDecimal   divide (BigDecimal  divisor, int scale, int roundingMode)
                   返回一个 BigDecimal ,其值为 (this / divisor) ,其标度为指定标度。

原文地址:https://www.cnblogs.com/dirgo/p/9443856.html