BigDecimal 除法運算出現 java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result 的解決辦法
今天在使用兩個BigDecimal類型的數字做除法運算時,出現了一個如下的異常信息:
java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result
這個異常的,找到了原因所在:
通過BigDecimal的divide方法進行除法時當不整除,出現無限循環小數時,就會拋異常:
java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result.
解決的辦法就是給divide方法設置精確的小數點,如:
divide(xxxxx,2)