是什么原因导致 BigDecimal.divide 的“非终止十进制扩展”异常?非终止小数需要舍入
2022-09-01 10:14:43
我以前使用过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);
但是,我不断得到同样的例外。有人能够向我展示我在哪里犯了错误吗?