Redondear a un numero de decimales en Java

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.

Etiquetas

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *