错误:
今天在使用BigDecimal的时候出现一个错误:
java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result.
原因:
原因:
通过BigDecimal的divide方法进行除法时当不整除,出现无限循环小数时,就会抛这个异常。
解决方法:
解决方法:
使用方法divide(BigDecimal divisor, int scale, RoundingMode roundingMode)
指定精度:scale, 舍入模式:roundingMode
来指定除法之后保留小数位数,这样就避免出现无限循环。
来指定除法之后保留小数位数,这样就避免出现无限循环。