Quiero establecer la escala de dos números BigDecimal a
y b
. como en este ejemplo:Redondeo necesario con números 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);
y cuando corro tengo esta excepción:
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)
¿Por qué es necesario el redondeo? si no quiero ganar, ¿cuál es la solución, por favor?
Gracias
De hecho, es una sorpresa. Sin mirar los documentos, esperaba configurar la escala para truncar en la escala ... –