Cómo redondear un doble a dos decimales en Java
-
Redondea un
double
a dos decimales usandoMath.round(double*100.0)/100.0
-
Redondeo de un
double
a dos decimales usandoBigDecimal
-
Redondea un
double
a dos decimales usando elDecimalFormat
-
Redondear un
double
a dos decimales usandoApache Common
Math
En el artículo anterior del tutorial, hemos entendido cómo convertir un Array
en ArrayList
en Java usando varios métodos con ejemplos detallados. Veremos más tipos de uso de Java a través de diferentes formas de análisis de escenarios.
En este artículo del tutorial, discutiremos sobre el redondeo de un doble a dos decimales usando Java. Hay cuatro formas de redondear un valor doble a dos decimales como Math.round()
, BigDecimal
usando el método setScale()
, DecimalFormat
y la biblioteca Apache Common
.
Discutamos cada uno de ellos a través de ejemplos.
Redondea un double
a dos decimales usando Math.round(double*100.0)/100.0
El método Math.round()
se usa en Java para redondear un número dado a su entero más cercano. Como en este artículo, aprenderemos a redondear un double
a dos decimales, la aplicación de Math.round()
incluirá (double*100.0)/100.0
.
Sigamos el siguiente ejemplo.
import java.io.*;
import java.lang.*;
import java.util.*;
public class Main {
public static void main(String[] args) {
double d = 7435.9876;
double roundDbl = Math.round(d * 100.0) / 100.0;
System.out.println("Rounded Double value: " + roundDbl);
}
}
Resultado:
Rounded Double value: 7435.99
Redondeo de un double
a dos decimales usando BigDecimal
De esta manera, primero podemos convertir double
a BigDecimal
y luego usar el método setScale()
para redondear el BigDecimal
convertido a dos decimales. Entendamos el siguiente ejemplo.
import java.io.*;
import java.lang.*;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.*;
public class Main {
public static void main(String[] args) {
double val1 = 4312.186462;
System.out.println("Double value: " + val1);
BigDecimal bd = new BigDecimal(val1).setScale(2, RoundingMode.HALF_UP);
double val2 = bd.doubleValue();
System.out.println("Rounded Double value: " + val2);
}
}
Resultado:
Double value: 4312.186462
Rounded Double value: 4312.19
Redondea un double
a dos decimales usando el DecimalFormat
También podemos redondear un valor de double
a dos decimales usando DecimalFormat
. Vamos a discutir en el siguiente ejemplo.
import java.io.*;
import java.lang.*;
import java.text.DecimalFormat;
import java.util.*;
public class Main {
public static void main(String[] args) {
double val1 = 6482.236789;
System.out.println("Double value: " + val1);
DecimalFormat df = new DecimalFormat("###.##");
System.out.println("Rounded Double value (DecimalFormat): " + df.format(val1));
}
}
Resultado:
Double value : 6482.236789 Rounded Double value : 6482.24
Redondear un double
a dos decimales usando Apache Common
Math
Un tipo especial de biblioteca matemática en Java se usa para redondear un double
a dos decimales, que es Apache Common
. Discutamos su utilización en el siguiente ejemplo.
Necesitamos añadir esta dependencia de la biblioteca en un archivo xml dentro del proyecto Java.
<dependency>
<groudId>org.apache.commons</groudId>
<artifactId>commons-math3</artifactId>
<version>3.6.1</version>
</dependency>
Ahora comprobemos la implementación de la biblioteca de apache para redondear un double
a dos decimales.
import java.io.*;
import java.lang.*;
import java.util.*;
import org.apache.commons.math3.util.Precision;
public class Main {
public static void main(String[] args) {
double input = 9476.2351;
double roundedDbl = Precision.round(input, 2);
System.out.println("Rounded Double value: " + roundedDbl);
}
}
Resultado:
Rounded Double value: 9476.24
Se recomienda seguir las tres primeras formas para aplicaciones simples de java
.