Cómo redondear un doble a dos decimales en Java

Cómo redondear un doble a dos decimales en Java
Existe la posibilidad de que solo necesite dos decimales de una doble variable creada, en algunos casos, como representar unidades de moneda. Los programadores generalmente usan el "redondo()Método para redondear los lugares decimales para descubrir valores de número decimal aproximados. Además, los valores o cifras decimales generalmente se redondean cuando se realizan cálculos para simplificar el proceso.

Este tutorial de insinuos de Linux ilustrará el método en Java para redondear un valor doble a dos decimales.

Cómo redondear un doble a dos decimales en Java?

Para redondear un valor doble a dos decimales, puede utilizar:

  • método redondo ()
  • Clase BigDecimal
  • Clase decimalformat
  • Clase NumberFormat
  • Método de formato de cadena ()

Discutamos el funcionamiento de estos métodos individualmente.

Método 1: redondea un doble a dos decimales utilizando matemáticas.método redondo ()

"Matemáticas.redondo()"Es un método estático que pertenece a la clase de matemáticas. Redonde los puntos decimales al número completo más cercano. Para redondear hasta 2 decimales, las matemáticas.Método Round () Use "(DoubleValue*100.0)/100.0"Como argumento.

Sintaxis

Siga la sintaxis dada a continuación para redondear el valor hasta dos decimales utilizando las matemáticas.Método Round ():

Matemáticas.Round (DoubleValue*100.0)/100.0

Ejemplo

En este ejemplo, crearemos una variable de doble tipo llamada "DBL"Inicializado con el siguiente valor:

Doble DBL = 5211.1246;
Sistema.afuera.println ("valor doble original:"+dbl);

Llamaremos al "Matemáticas.redondo()"Método para redondear el valor doble y luego imprima el valor actualizado usando el"Sistema.afuera.println ()" método:

Doble RoundVal = Matemáticas.ronda (dbl*100.0)/100.0;
Sistema.afuera.println ("Valor doble redondeado actualizado:"+RoundVal);

Aquí está el programa de muestra completo que puede compilar y ejecutar:

Ejemplo de clase pública
public static void main (string [] args)
Doble DBL = 5211.1246;
Sistema.afuera.println ("valor doble original:"+dbl);
Doble RoundVal = Matemáticas.ronda (dbl*100.0)/100.0;
Sistema.afuera.println ("El valor doble redondeado actualizado es:"+RoundVal);

La salida muestra que el valor doble se redondea con éxito hasta dos decimales:

linuxhint@escritorio-xxxxxxx: ~ $ java ejemplo
Valor doble original: 5211.1246
El valor doble redondeado actualizado es: 5211.12

Veamos los otros métodos para redondear los valores dobles a los dos decimales.

Método 2: Ronda un doble a dos decimales mediante la utilización de la clase BigDecimal

También podemos redondear los valores dobles usando el "setscale ()"Método de la clase BigDecimal. Esta clase pertenece al "Java.matemáticas.BigDecimal" paquete.

Sintaxis

La siguiente sintaxis del BigDecimal.setScale () se puede usar para el propósito especificado:

BigDecimal (DBL).setscale (número, RoundingMode.Half_up);

Aquí, "DBL"Es el objeto de clase BigDecimal que se llamará el"setscale ()" método. Este método acepta dos parámetros ","número" y "Modo redondeado", Donde el número es el valor entero que se refiere a la escala para redondear el valor decimal, y el modo redondeado representa el modo de redondear el valor decimal.

Ejemplo

Primero, crearemos un objeto de la clase BigDecimal "bd"Y pasa el"DBL"Objeto como argumento y luego llame al"setscale ()"Método con la escala"2"Y RoundingMode como"A medias". Estos argumentos redondearán los valores dobles dos decimales hacia su vecino:

BigDecimal BD = New BigDecimal (DBL).setscale (2, RoundingMode.Half_up);

Entonces, llamaremos al "DoubleValue ()"Método con el objeto de clase BigDecimal creado y guárdelo en un nuevo nombre de variable de doble tipo"DBL1":

Doble dbl1 = bd.DoubleValue ();

Por último, imprima el valor decimal redondeado con la ayuda del "Sistema.afuera.println ()" método:

Sistema.afuera.println ("Valor doble redondeado actualizado:"+DBL1);

Aquí está el programa de muestra de trabajo:

importar java.matemáticas.BigDecimal;
importar java.matemáticas.RoundingMode;
Ejemplo de clase pública
public static void main (string [] args)
Doble DBL = 5212.1246;
Sistema.afuera.println ("valor doble original:"+dbl);
BigDecimal BD = New BigDecimal (DBL).setscale (2, RoundingMode.Half_up);
Doble dbl1 = bd.DoubleValue ();
Sistema.afuera.println ("El valor doble redondeado actualizado es:"+DBL1);

Salida de la consola:

linuxhint@escritorio-xxxxxxx: ~ $ java ejemplo
Valor doble original: 5212.1246
El valor doble redondeado actualizado es: 5212.12

Ahora, probemos el siguiente método.

Método 3: redondea un doble a dos decimales utilizando decimalformat

El "DecimalformatLa clase se utiliza para formatear números decimales. Esta clase proporciona un patrón de formato para formatear el doble a 2 decimales. Es la subclase de la clase NumberFormat.

Sintaxis

Para redondear el doble a dos lugares de número decimales utilizando la clase decimalformat, siga la sintaxis dada:

Decimalformat ("###.## ");

Aquí, "###.##"Representa el formato para redondear el número a dos decimales.

Ejemplo

Crearemos un objeto del "Decimalformat"Clase llamada"DCF"Y pase el formato mencionado como argumento:

Decimalformat dcf = new DecimalFormat ("###.## ");

Imprima el valor redondeado llamando al "formato()"Método y pasar el valor doble"DBL"Para él como argumento:

Sistema.afuera.println ("Valor doble redondeado actualizado:"+DCF.formato (dbl));

Aquí está el programa de muestra de trabajo:

importar java.texto.Decimalformat;
Ejemplo de clase pública
public static void main (string [] args)
Doble DBL = 5213.1246;
Sistema.afuera.println ("valor doble original:"+dbl);
Decimalformat dcf = new DecimalFormat ("###.## ");
Sistema.afuera.println ("El valor doble redondeado actualizado es:"+DCF.formato (dbl));

La salida muestra el valor doble redondeado hasta dos decimales:

linuxhint@escritorio-xxxxxxx: ~ $ java ejemplo
Valor doble original: 5213.1246
El valor doble redondeado actualizado es: 5213.12

Método 4: redondea un doble a dos decimales utilizando la clase NumberFormat

El "Formato numérico"Es la clase que pertenece a la Java.texto.Paquete NumberFormat. Se usa para formatear los números decimales con el "setMaxImumFractionDigits ()Método al pasar el número requerido para completar como argumento.

Sintaxis

Siga la sintaxis dada de NumberFormat para redondear un doble a dos decimales:

setMaxImumFractionDigits (número);

Aquí, el método setmaximumfractionDigits () aceptará el número que indica la escala de puntos decimales en un valor doble.

Ejemplo

Primero crearemos una instancia de la clase NumberFormat como "NF":

NumberFormat nf = numberFormat.obtener Instancia();

Luego, llamaremos al método setmaximumfractionDigits () y pasaremos "2"Como argumento que dice la escala de puntos decimales en un valor doble:

NF.setMaximumFractionDigits (2);

Por último, imprimiremos un valor redondeado llamando al "formato()"Método y paso"DBL"Como argumento para él:

Sistema.afuera.println ("Valor doble redondeado actualizado:"+NF.formato (dbl));

Aquí está el programa de muestra de trabajo:

importar java.texto.Formato numérico;
Ejemplo de clase pública
public static void main (string [] args)
Doble DBL = 5214.1246;
Sistema.afuera.println ("valor doble original:"+dbl);
NumberFormat nf = numberFormat.obtener Instancia();
NF.setMaximumFractionDigits (2);
Sistema.afuera.println ("El valor doble redondeado actualizado es:"+NF.formato (dbl));

Se espera la salida, pero este número de información incluye comas en la salida:

linuxhint@escritorio-xxxxxxx: ~ $ java ejemplo
Valor doble original: 5214.1246
El valor doble redondeado actualizado es: 5,214.12

Método 5: redondea un doble a dos decimales utilizando el método de formato de cadena ()

El "formato()El método "es el método estático de la clase de cadena. El valor doble se redondea hasta dos decimales que lo usan. Este método actúa como un "printf" declaración.

Sintaxis

Siga la sintaxis dada a continuación para usar la cadena.método format ():

Cadena.formato("%.2f ", DoubleValue)

Se necesitan dos parámetros ","De %.2F"Y el doble valor. El primer argumento representa el formato requerido del valor doble aprobado.

Ejemplo

Llamaremos a la cadena.método format () pasando un objeto de doble clase "DBL" y el "De %.2F"Formato como sus argumentos:

Sistema.afuera.println ("valor doble redondeado actualizado:"+cadena.formato("%.2f ", dbl));

Aquí está el programa de trabajo:

Ejemplo de clase pública
public static void main (string [] args)
Doble DBL = 5215.1246;
Sistema.afuera.println ("valor doble original:"+dbl);
Sistema.afuera.println ("El valor doble redondeado actualizado es:"+cadena.formato("%.2f ", dbl));

Como puede ver, el valor doble se redondea a dos decimales:

linuxhint@escritorio-xxxxxxx: ~ $ java ejemplo
Valor doble original: 5215.1246
El valor doble redondeado actualizado es: 5215.12

Recopilamos toda la información esencial relacionada con redondear el valor doble hasta dos decimales en Java.

Conclusión

Para redondear un valor doble a dos decimales, existen diferentes métodos respaldados por Java Language: Math.Método Round (), Método de formato de cadena y otros métodos de la clase BigDecimal, la clase DecimalFormat y NumberFormat Clase. Este manual ilustró los métodos para redondear el valor doble a dos decimales en Java.