Java BigDecimalで除算したらArithmeticException

java
永遠に割り切れない除算でArithmeticExceptionが発生します。
解決策としては、丸めてください。
BigDecimal bd = BigDecimal.valueOf(10);
BigDecimal test = bd.divide(BigDecimal.valueOf(3), 0, RoundingMode.HALF_UP);
※スケール(第二引数)には少数点以下の桁数を指定
これで例外が発生しなくなります。
丸め方は以下のようになります。
CEILING | 正の無限大に近づくように丸めるモードです。 |
DOWN | 0 に近づくように丸めるモードです。 |
_FLOOR | 負の無限大に近づくように丸めるモードです。 |
_HALF_DOWN | 「もっとも近い数字」に丸めるモードです。 |
HALF_EVEN | 「もっとも近い数字」に丸める丸めモードです。 |
ROUND_HALF_UP | 「もっとも近い数字」に丸めるモードです。 |
UNNECESSARY | 要求される演算の結果が正確であり、丸めが必要でないことを表す丸めモードです。 |
UP | 0 から離れるように丸めるモードです。 |