Hola a todos, hoy os explicare como podemos redondear decimales en Java.
Es nuestros programas es normal para mostrar números reales con un determinado número de decimales como por ejemplo en facturas.
IMPORTANTE: Los pongo en dos linea para que se vea mejor, podéis usarlo en una línea.
Con una simple línea podemos hacerlo:
double redondeado = new BigDecimal(TU_DECIMAL_AQUI) .setScale(NUMERO_DECIMALES_AQUI, RoundingMode.HALF_EVEN).doubleValue();
Un ejemplo del anterior codigo podria ser esto:
double redondeado = new BigDecimal(15.51111111) .setScale(2, RoundingMode.HALF_EVEN).doubleValue();
En el código anterior, mostrará 15.56 por ejemplo.
Os dejo una simple función que automatiza este proceso, solo le tenemos que pasar el double y el numero de decimales:
public static double redondeoDecimales(double numero, int numeroDecimales) { BigDecimal redondeado = new BigDecimal(numero) .setScale(numeroDecimales, RoundingMode.HALF_EVEN); return redondeado.doubleValue(); }
Os dejo otro para float:
public static float redondeoDecimales(float numero, int numeroDecimales) { BigDecimal redondeado = new BigDecimal(numero) .setScale(numeroDecimales, RoundingMode.HALF_EVEN); return redondeado.floatValue(); }
Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.
en este programa como puedo hacer para que se me redonde el resultado
Me a servido de mucho. Gracias
¿se puede redondear números decimales usando solo operadores matemáticos?
Perfecta explicación, gracias me sirvió de mucho