Hacer cálculos precisos con floats o doubles
Artículo por Club Developers · 18 mayo 2006
4528 vistas
Si intentamos esto:
Obtendremos 0.10000000000000009 en lugar de 0.1 como mostrarÃa nuestra calculadora. Es decir, es imposible representar exactamente 0.1 o cualquier potencia negativa de 10 mediante un float o double.
La mejor solución para resoler este problema es usar la clase java.math.BigDecimal. Podemos usar, por ejemplo, asÃ:
Atención, las cifras que queremos representar tienen que pasarse al constructor como Strings.
java
Obtendremos 0.10000000000000009 en lugar de 0.1 como mostrarÃa nuestra calculadora. Es decir, es imposible representar exactamente 0.1 o cualquier potencia negativa de 10 mediante un float o double.
La mejor solución para resoler este problema es usar la clase java.math.BigDecimal. Podemos usar, por ejemplo, asÃ:
java
Atención, las cifras que queremos representar tienen que pasarse al constructor como Strings.