java.lang.ArithmeticException:Non-terminating decimal expansion

java.lang.ArithmeticException:Non-terminating decimal expansion

JavaでBigDecimalを扱う時に、10/3とすると3.33333…と循環小数になり

「java.lang.ArithmeticException:Non-terminating decimal expansion」のエラーが出ます。

その為BigDecimalのdivideメソッドで割り算する場合は丸め処理を必ず行う必要があります。

result = bd1.diveide(bd2,2,BigDecimal.ROUND_HARF_UP);

上記で10/3をすると以下のような結果になります。

3.33

コメント

タイトルとURLをコピーしました