使用BigDecimal进行除法运算时,突然报错
ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result
经过排查发现,是由于在进行除法运算时,如果结果是个无限小数,就会报这个错,解决办法就是,在使用divide()方法时,指定保留小数的位数:divide(fileWidth,BigDecimal.ROUND_HALF_UP)
BigDecimal llyRate = lly.divide(fileWidth,BigDecimal.ROUND_HALF_UP).setScale(3, RoundingMode.HALF_UP);
这样即可解决问题