Cómo comparar dos bigdecimals en Java

Cómo comparar dos bigdecimals en Java
El "BigDecimalLa clase en Java proporciona aritmética, gestión de escala, redondeo, funcionalidades de comparación, etc. Además de eso, permite a los programadores hacer frente a enteros de punto flotante grandes y pequeños con precisión excepcional. Esto ayuda a lograr más precisión sobre el número fijo de decimales.

Este artículo explicará los enfoques para comparar dos "BigDecimals" en Java.

¿Qué es "BigDecimal" en Java??

A "BigDecimal"En Java comprende una escala entera de 32 bits y se utiliza para manejar números de punto flotante muy grandes y muy pequeños. El "escala"Representa el número de dígitos a la derecha del punto decimal.

Cómo comparar dos bigdecimals en Java?

Para comparar dos BigDecimals en Java, aplique los siguientes enfoques:

  • "comparar con()" Método.
  • "igual ()" Método.

Antes de dirigirnos a los enfoques, asegúrese de incluir el paquete a continuación para acceder al "matemáticas"Métodos de clase:

importar java.matemáticas.*;

Enfoque 1: Compare dos BigDecimals en Java utilizando el método "Compareto ()"

El "comparar con()"El método compara los dos"Bigdecimals"Y devuelve el resultado en función de los siguientes parámetros:

Resultado devuelto Comparación calculada
1 Si el ex bigdecimal es mayor que el segundo bigdecimal.
0 En el caso de que el ex BigDecimal sea igual a la segunda BigDecimal.
-1 Cuando el ex bigdecimal es menor que el segundo bigdecimal.

Este método se puede aplicar para comparar los dos creados "BigDecimal"Valores y devolver el resultado correspondiente a través del"si/else" declaración.

Sintaxis

Public Int Compareto (Obj OBJ)

Según esta sintaxis, "Obj OBJ"Corresponde al objeto que debe compararse.

Ejemplo

El ejemplo proporcionado a continuación explica el concepto discutido:

clase pública comparebigDecimal
public static void main (string args [])
BigDecimal Val1, Val2;
Val1 = nuevo BigDecimal ("26326.04 ");
val2 = nuevo BigDecimal ("22145.20 ");
if (val1.Compareto (val2) == 0)
Sistema.afuera.println (val1 + "y" + val2 + "son iguales");

más si (val1.Compareto (val2) == -1)
Sistema.afuera.println (val1 + "es menor que" + val2);

demás
Sistema.afuera.println (val1.Compareto (val2));
Sistema.afuera.println (val1 + "es mayor que" + val2);

De acuerdo con las líneas de código anteriores, aplique los siguientes pasos:

  • En primer lugar, crea dos "Bigdecimals"Tener los valores establecidos.
  • Ahora, asocie el "comparar con()"Método con los valores asignados y sobre la condición satisfecha en el"si"Declaración, registre el mensaje correspondiente.
  • Nota: Las condiciones se especifican en función del resultado devuelto del método para que el método funcione correctamente.
  • Del mismo modo, el "de lo contrario si"La declaración especifica la otra condición considerando el tipo de retorno del método, I.mi., "-1".
  • Finalmente, haz el "demás"La declaración entró en vigencia en ambas condiciones indeseñadas.

Producción

En el resultado anterior, el regresado "1"Indica que el"demásSe invoca la declaración.

Enfoque 2: Compare dos BigDecimals en Java usando el método "Equals ()"

El "igual ()"Método de la Java"BigDecimalLa clase se utiliza para comparar los BigDecimals para la igualdad basada en el valor y la escala. Este método se puede implementar para aplicar una verificación de los BigDecimals que tienen una variación en su escala.

Sintaxis

Público booleano es igual (objeto x)

En esta sintaxis, "Objeto x"Corresponde al objeto con el que se debe comparar este BigDecimal.

Ejemplo

Vamos a ver el siguiente ejemplo:

clase pública comparebigDecimal2
public static void main (string args [])
BigDecimal Val1, Val2;
Val1 = nuevo BigDecimal ("205.0 ");
val2 = nuevo BigDecimal ("205.00 ");
if (val1.igual (val2))
Sistema.afuera.println (val1 + "y" + val2 + "son iguales");

demás
Sistema.afuera.println (val1 + "y" + val2 + "no son iguales");

Según el código anterior:

  • Del mismo modo, cree dos bigdecimals que tengan variación en su escala.
  • Nota: "0" no es igual a "2.00"En comparación con este método.
  • Después de eso, aplique el "igual ()Método "para comparar los bigDecimals creados y devolver el resultado correspondiente a través del"si/else" declaración.

Producción

En este resultado, se puede observar que tanto el "Bigdecimals"No son iguales debido a la variación en la escala.

Sin embargo, el siguiente resultado lleva a hacer que los "BigDecimals" sean iguales:

Así es como puedes comparar dos "Bigdecimals"En Java.

Conclusión

A "BigDecimal"En Java comprende una escala entera de 32 bits. Los dos BigDecimals en Java se pueden comparar aplicando el "comparar con()", o el "igual ()" métodos. El enfoque anterior devuelve la salida en función de la comparación calculada. El último enfoque analiza los valores BigDecimal basados ​​en las escalas especificadas. Este blog está guiado para comparar los dos "BigDecimals" en Java.