Redondear un número
Artículo por Club Developers · 18 mayo 2006
4391 vistas
Redondear un real a un entero:
En la conversión de reales a enteros en operaciones de tipos nativos, Java se contenta en truncar la parte decimal.
Como solución, podemo incrementar el valor real en 0.5 antes de la conversión.
Redondear un real a 10^-2 (dos dígitos decimales):
Podemos realizarlo de forma manual haciendo:
Es importante que comentemos estos trucos para hacer leible el código resultante.
La clase java.lang.Math:
La clase Math tiene algunos métodos para realizar redondeos (inferior, superior o más cercano). Tienen la ventaja de generar código más leible, pero, como desventaja, no existe un método para redondear a 2 decimales (10^-2).
En la conversión de reales a enteros en operaciones de tipos nativos, Java se contenta en truncar la parte decimal.
java
double a = 1.99; int b = a; // b=1
Como solución, podemo incrementar el valor real en 0.5 antes de la conversión.
java
double a = 1.8; // conversión con redondeo int b = a+0.5; // b=2
Redondear un real a 10^-2 (dos dígitos decimales):
Podemos realizarlo de forma manual haciendo:
java
double a = 1.6666666 // redondeamos el valor a 2 decimales a *= 100; a = (int)(a+.5); a /= 100;
Es importante que comentemos estos trucos para hacer leible el código resultante.
La clase java.lang.Math:
La clase Math tiene algunos métodos para realizar redondeos (inferior, superior o más cercano). Tienen la ventaja de generar código más leible, pero, como desventaja, no existe un método para redondear a 2 decimales (10^-2).