Eventuali duplicati:
ArithmeticException thrown during BigDecimal.dividedivisorie BigDecimals risultati in ArithmeticException
Questo si traduce in ArithmeticException: http://ideone.com/RXeZw
Fornire una scala e la modalità di arrotondamento mi darà il risultato sbagliato. Questo esempio dovrebbe produrre il 50,03%. Come arrotondare correttamente?
Per riferimento più semplice, questo è il codice:
BigDecimal priceDiff = BigDecimal.ONE
.subtract(new BigDecimal(9.99)
.divide(new BigDecimal(19.99)))
.multiply(new BigDecimal(100));
System.out.println(priceDiff.toPlainString());
sì, mi sono solo confuso su tutti questi numeri :-) – dtrunk
@dtrunk trovo usando 'double' meno confuso. ;) –
Non riesco a usare il doppio in quanto causerebbe così tante modifiche nel codice – dtrunk