以前に BigDecimals を使用したことがありますが、それほど頻繁ではなく、今朝何かに取り組んでいましたが、次の例外が発生し続けました。
Exception in thread "main" java.lang.ArithmeticException: Non-terminating decimal expansion;
no exact representable decimal result.
at java.math.BigDecimal.divide(BigDecimal.java:1594)
私はスケールを設定し、丸めを使用して問題を解決しようとしていました:
BigDecimal bd1 = new BigDecimal(1131).setScale(2,BigDecimal.ROUND_HALF_UP);
BigDecimal bd2 = new BigDecimal(365).setScale(2,BigDecimal.ROUND_HALF_UP);
BigDecimal bd3 = bd1.divide(bd2).setScale(2,BigDecimal.ROUND_HALF_UP);
System.out.println("result: " + bd3);
ただし、同じ例外が引き続き発生します。私が間違いを犯した場所を教えてくれる人はいますか?