Comment comparer deux BigDecimals en Java

Comment Comparer Deux Bigdecimals En Java



Le ' BigDecimal ” en Java fournit des fonctionnalités d'arithmétique, de gestion d'échelle, d'arrondi, de comparaison, etc. En plus de cela, il permet aux programmeurs de gérer les grands et petits nombres entiers à virgule flottante avec une précision exceptionnelle. Cela aide à obtenir plus de précision sur le nombre fixe de décimales.

Cet article détaillera les approches pour comparer deux 'BigDecimals' en Java.

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

UN ' BigDecimal ” en Java comprend une échelle d'entiers 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 de la virgule décimale.







Comment comparer deux BigDecimals en Java ?

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



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.* ;

Approche 1 : comparer deux BigDecimals en Java à l'aide de la méthode 'compareTo()'

Le ' comparer aux() « La méthode compare les deux » BigDecimals ” et renvoie le résultat en fonction des paramètres suivants :





Résultat renvoyé Comparaison calculée
1 Si l'ancien BigDecimal est supérieur au dernier BigDecimal.
0 Dans le cas où l'ancien BigDecimal est égal au dernier BigDecimal.
-1 Lorsque l'ancien BigDecimal est inférieur au dernier BigDecimal.

Cette méthode peut être appliquée pour comparer les deux créés ' BigDecimal ” valeurs et renvoyer le résultat correspondant via le “ sinon ' déclaration.

Syntaxe



public entier comparer aux ( Objet obj )

Selon cette syntaxe, ' Objet obj » correspond à l'objet à comparer.

Exemple

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

public classe comparebigdecimal {
public statique annuler principal ( Chaîne arguments [ ] ) {
BigDecimal val1, val2 ;
choix1 = nouveau BigDecimal ( '26326.04' ) ;
val2 = nouveau BigDecimal ( '22145.20' ) ;
si ( choix1. comparer aux ( val2 ) == 0 ) {
Système . dehors . println ( choix1 + ' et ' + val2 + ' sont égaux' ) ;
}
autre si ( choix1. comparer aux ( val2 ) == - 1 ) {
Système . dehors . println ( choix1 + ' est inférieur à ' + val2 ) ;
}
autre {
Système . dehors . println ( choix1. comparer aux ( val2 ) ) ;
Système . dehors . println ( choix1 + ' est supérieur à ' + val2 ) ;
}

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

  • Tout d'abord, créez deux ' BigDecimals ” ayant les valeurs indiquées.
  • Maintenant, associez le ' comparer aux() ” méthode avec les deux valeurs assignées, et sur la condition satisfaite dans le “ si », enregistrez le message correspondant.
  • Note: Les conditions sont spécifiées en fonction du résultat renvoyé par la méthode pour que la méthode fonctionne correctement.
  • De même, le « sinon si ” spécifie l'autre condition en tenant compte du type de retour de la méthode, c'est-à-dire “ -1 ”.
  • Enfin, faites le « autre ” déclaration entre en vigueur sur les deux conditions ci-dessus insatisfaites.

Sortir

Dans le résultat ci-dessus, le retour ' 1 ' indique que le ' autre ” est invoquée.

Approche 2 : comparer deux BigDecimals en Java à l'aide de la méthode 'equals()'

Le ' équivaut à() « méthode du Java » BigDecimal ” La classe est utilisée pour comparer les BigDecimals pour l'égalité en fonction de la valeur et de l'échelle. Cette méthode peut être implémentée pour appliquer un contrôle sur les BigDecimals ayant une variation dans leur échelle.

Syntaxe

public booléen équivaut à ( Objet X )

Dans cette syntaxe, ' Objet x ” correspond à l'objet avec lequel ce BigDecimal doit être comparé.

Exemple

Passons en revue l'exemple suivant :

public classe comparebigdecimal2 {
public statique annuler principal ( Chaîne arguments [ ] ) {
BigDecimal val1, val2 ;
choix1 = nouveau BigDecimal ( '205.0' ) ;
val2 = nouveau BigDecimal ( '205,00' ) ;
si ( choix1. équivaut à ( val2 ) ) {
Système . dehors . println ( choix1 + ' et ' + val2 + ' sont égaux' ) ;
}
autre {
Système . dehors . println ( choix1 + ' et ' + val2 + ' ne sont pas égaux' ) ;
}
} }

Selon le code ci-dessus :

  • De même, créez deux BigDecimals dont l'échelle varie.
  • Note: ' 0 ' n'est pas égal à ' 2,00 ” par rapport à cette méthode.
  • Après cela, appliquez le ' équivaut à() ” pour comparer les BigDecimals créés et renvoyer le résultat correspondant via la méthode “ sinon ' déclaration.

Sortir

Dans ce résultat, on peut observer que tant le « BigDecimals ” ne sont pas égaux en raison de la variation d'échelle.

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

C'est comme ça qu'on peut comparer deux ' BigDecimals ” en Java.

Conclusion

UN ' BigDecimal ” en Java comprend une échelle d'entiers de 32 bits. Les deux BigDecimals en Java peuvent être comparés en appliquant le ' comparer aux() ', ou la ' équivaut à() ” méthodes. La première 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' en Java.