[转]BigDecimal不整除异常

时间:2023-03-09 12:58:49
[转]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)
,其标度为指定标度。