java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result
当使用BigDecimal进行divide除法运算的时候,有时会出现除不尽的现象,因此回报上面的错误,我原来的代码是
BigDecimal divide = decimal.divide(new BigDecimal(format1));
通过观察BigDecimal的重在方法发现,还可以传入精度参数roundingModel
所以,代码可以写成这样
BigDecimal divide = decimal.divide(new BigDecimal(format1),2);
此处的“2”就是四舍五入后精确到小数点后两位,这样就不会出现除不尽的bug了