可能重複:
ArithmeticException thrown during BigDecimal.divide劃分BigDecimals的結果ArithmeticException
這導致ArithmeticException:http://ideone.com/RXeZw
提供一個規模和舍入模式會給我錯誤的結果。這個例子應該輸出50.03%。如何正確舍入?
爲了便於參考,這是代碼:
BigDecimal priceDiff = BigDecimal.ONE
.subtract(new BigDecimal(9.99)
.divide(new BigDecimal(19.99)))
.multiply(new BigDecimal(100));
System.out.println(priceDiff.toPlainString());
是的,我只是對所有這些數字感到困惑:-) – dtrunk
@dtrunk我發現使用'雙'較少混淆。 ;) –
我不能使用double,因爲它會在代碼中造成如此多的變化 – dtrunk