code_prettify

2012年3月27日 星期二

BigDecimal相除出現 Non-terminating decimal expansion

執行 BigDecimal的除法時遇到這個 exception:
java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result.
原因是使用了 BigDecimalA.divide(BigDecimalB).
除了分母外不帶任何引數的 divide如果遇到除以 0或除不盡就會拋 ArithmeticException.
所以 BigDecimal相除的時候還是乖乖用 divide(除數, 位數, 進位方法).

沒有留言: