分类 默认分类 下的文章

使用BigDecimal divide不整除异常问题

通过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) ,其标度为指定标度。