Desidero impostare la scala di due numeri BigDecimal a
e b
. come in questo esempio:Arrotondamento necessario con numeri BigDecimal
BigDecimal a = new BigDecimal("2.6E-1095");
BigDecimal b = new BigDecimal("2.7E-1105");
int i = 112, j=1;
BigDecimal aa = a.setScale(i+j);
BigDecimal bb = b.setScale(i+j);
e quando corro ho questa eccezione:
java.lang.ArithmeticException: Rounding necessary
at java.math.BigDecimal.divideAndRound(BigDecimal.java:1439)
at java.math.BigDecimal.setScale(BigDecimal.java:2394)
at java.math.BigDecimal.setScale(BigDecimal.java:2437)
Perché arrotondamento è necessaria? se non voglio fare un giro, qual è la soluzione per favore?
Grazie
In effetti si tratta di una sorpresa. Mi sono aspettato di impostare la scala per troncare alla scala ... –