Comment comparer deux BigDecimals en Java

Comment comparer deux BigDecimals en Java
Le "Bigdecimal»La classe en Java fournit l'arithmétique, la gestion de l'échelle, l'arrondi, les fonctionnalités de comparaison, etc. En plus de cela, il permet aux programmeurs de faire face à de grands et petits entiers à virgule flottante avec une précision exceptionnelle. Cela aide à atteindre plus de précision sur le nombre fixe de décimales.

Cet article va développer les approches pour comparer deux «BigDecimals» à Java.

Qu'est-ce que «BigDecimal» en Java?

UN "Bigdecimal"In Java comprend une échelle entière de 32 bits et est utilisée pour gérer des nombres à virgule flottante très grands et très petits. Le "escalader»Représente le nombre de chiffres à droite du point décimal.

Comment comparer deux BigDecimals en Java?

Pour comparer deux BigDecimals en Java, appliquez les approches suivantes:

  • "comparer aux()" Méthode.
  • "équivaut à()" Méthode.

Avant de vous diriger vers les approches, assurez-vous d'inclure le package fourni ci-dessous pour accéder au «mathématiques»Méthodes de classe:

Importer Java.mathématiques.*

Approche 1: Comparez deux BigDecimals en Java en utilisant la méthode "Compareto ()"

Le "comparer aux()"La méthode compare les deux"Bigdecimaux»Et renvoie le résultat en fonction des paramètres suivants:

Résultat de retour Comparaison calculée
1 Si l'ancien BigDecimal est plus grand que le dernier BigDecimal.
0 Dans le cas de l'ancien BigDecimal étant égal au second BigDecimal.
-1 Lorsque l'ancien BigDecimal est inférieur que le second BigDecimal.

Cette méthode peut être appliquée pour comparer les deux créés "Bigdecimal«Valeurs et renvoyez le résultat correspondant via le«sinon" déclaration.

Syntaxe

public int compareto (objet obj)

Selon cette syntaxe, "Objet obj»Correspond à l'objet qui doit être comparé.

Exemple

L'exemple fourni ci-dessous explique le concept discuté:

classe publique CompareBigDecimal
public static void main (String args [])
Bigdecimal Val1, Val2;
VAL1 = NOUVEAU BIGDECIMAL ("26326.04 ");
Val2 = nouveau BigDecimal ("22145.20 ");
if (Val1.compareto (val2) == 0)
Système.dehors.println (val1 + "et" + val2 + "sont égaux");

else if (Val1.compareto (val2) == -1)
Système.dehors.println (val1 + "est inférieur à" + val2);

autre
Système.dehors.println (Val1.compareto (Val2));
Système.dehors.println (val1 + "est supérieur à" + val2);

Selon les lignes de code ci-dessus, appliquez les étapes suivantes:

  • Tout d'abord, créez deux «Bigdecimaux”Avoir les valeurs déclarées.
  • Maintenant, associez le «comparer aux()«Méthode avec les deux valeurs attribuées, et sur la condition satisfaite du«si»Instruction, enregistrez le message correspondant.
  • Note: Les conditions sont spécifiées en fonction du résultat retourné de la méthode pour que la méthode fonctionne correctement.
  • De même, le «Sinon si»L'instruction spécifie l'autre condition en tenant compte du type de retour de méthode, i.e., "-1".
  • Enfin, faites le «autre»Déclaration entre en vigueur sur les deux conditions non satisfaites ci-dessus.

Sortir

Dans le résultat ci-dessus, le retourné «1"Indique que le"autre»La déclaration est invoquée.

Approche 2: Comparez deux BigDecimals en Java en utilisant la méthode "equals ()"

Le "équivaut à()"Méthode du java"Bigdecimal«La classe est utilisée pour comparer les BigDecimaux pour l'égalité en fonction de la valeur et de l'échelle. Cette méthode peut être mise en œuvre pour appliquer un contrôle sur les BigDecimals ayant une variation de leur échelle.

Syntaxe

booléen public est égal (objet x)

Dans cette syntaxe, "Objet x»Correspond à l'objet avec lequel ce bigDecimal doit être comparé.

Exemple

Présentation de l'exemple suivant:

classe publique comparebigdecimal2
public static void main (String args [])
Bigdecimal Val1, Val2;
VAL1 = NOUVEAU BIGDECIMAL ("205.0 ");
Val2 = nouveau BigDecimal ("205.00 ");
if (Val1.égaux (val2))
Système.dehors.println (val1 + "et" + val2 + "sont égaux");

autre
Système.dehors.println (val1 + "et" + val2 + "ne sont pas égaux");

Selon le code ci-dessus:

  • De même, créez deux bigDecimals ayant une variation de leur échelle.
  • Note: "0"N'est pas égal à"2.00«Par rapport à cette méthode.
  • Après cela, appliquez le «équivaut à()«Méthode pour comparer les BigDecimals créés et renvoyer le résultat correspondant via le«sinon" déclaration.

Sortir

Dans ce résultat, on peut observer que le ««Bigdecimaux"Ne sont pas égaux en raison de la variation de l'échelle.

Cependant, le résultat suivant conduit à rendre les «BigDecimals» égaux:

C'est ainsi que vous pouvez comparer deux "Bigdecimaux"En Java.

Conclusion

UN "Bigdecimal»In Java comprend une échelle entière de 32 bits. Les deux BigDecimals en Java peuvent être comparés en appliquant le «comparer aux()", ou la "équivaut à()«Méthodes. L'ancienne approche renvoie la sortie en fonction de la comparaison calculée. Cette dernière approche analyse les valeurs BigDecimal en fonction des échelles spécifiées. Ce blog est guidé pour comparer les deux «BigDecimals» à Java.