= new BigDecimal(705);
MathContext mc = new MathContext(scale, RoundingMode.HALF_UP); }我使用的是JDK 11抛出错误:
Exception in thread "main" java.lang.ArithmeticEx
我们认为使用double作为货币是很容易出错的,不推荐使用.然而,我还没有看到一个现实的示例,其中BigDecimal工作,而double失败,不能简单地通过一些四舍五入来修正。即使使用BigDecimal,涉及除法的计算通常也不精确。我可以构造一个不能用double来执行的计算,但是可以用BigDecimal使用100分来执行它,但是在现实中你不会遇到这种情况。我当然也同意,使用double更容易出错。n = new BigDecimal("0.615");