Πώς να συγκρίνετε δύο BigDecimals στην Java

Pos Na Synkrinete Dyo Bigdecimals Sten Java



Ο ' BigDecimal Η κλάση στην Java παρέχει αριθμητική, διαχείριση κλίμακας, στρογγυλοποίηση, λειτουργίες σύγκρισης κ.λπ. Επιπλέον, επιτρέπει στους προγραμματιστές να αντιμετωπίζουν μεγάλους και μικρούς ακέραιους αριθμούς κινητής υποδιαστολής με εξαιρετική ακρίβεια. Αυτό βοηθά στην επίτευξη μεγαλύτερης ακρίβειας σε σχέση με τον καθορισμένο αριθμό δεκαδικών.

Αυτό το άρθρο θα επεξεργαστεί τις προσεγγίσεις για τη σύγκριση δύο «BigDecimals» στην Java.

Τι είναι το 'BigDecimal' στην Java;

ΕΝΑ ' BigDecimal ” στην Java περιλαμβάνει μια ακέραια κλίμακα 32 bit και χρησιμοποιείται για τη διαχείριση πολύ μεγάλων και πολύ μικρών αριθμών κινητής υποδιαστολής. Ο ' κλίμακα ” αντιπροσωπεύει τον αριθμό των ψηφίων στα δεξιά της υποδιαστολής.







Πώς να συγκρίνετε δύο BigDecimals στην Java;

Για να συγκρίνετε δύο BigDecimals στην Java, εφαρμόστε τις ακόλουθες προσεγγίσεις:



Πριν ξεκινήσετε τις προσεγγίσεις, βεβαιωθείτε ότι έχετε συμπεριλάβει το παρακάτω πακέτο για πρόσβαση στο ' μαθηματικά Μέθοδοι τάξης:



εισαγωγή java.math.* ;

Προσέγγιση 1: Συγκρίνετε δύο BigDecimals στην Java χρησιμοποιώντας τη μέθοδο 'compareTo()'

Ο ' συγκρίνετε με () 'η μέθοδος συγκρίνει τα δύο' Μεγάλοι Δεκαδικοί ” και επιστρέφει το αποτέλεσμα με βάση τις ακόλουθες παραμέτρους:





Επιστρεφόμενο αποτέλεσμα Υπολογιζόμενη Σύγκριση
1 Εάν το πρώτο BigDecimal είναι μεγαλύτερο από το δεύτερο BigDecimal.
0 Στην περίπτωση που το πρώτο BigDecimal είναι ίσο με το δεύτερο BigDecimal.
-1 Όταν το πρώτο BigDecimal είναι μικρότερο από το δεύτερο BigDecimal.

Αυτή η μέθοδος μπορεί να εφαρμοστεί για τη σύγκριση των δύο που δημιουργήθηκαν ' BigDecimal ' τιμές και επιστρέψτε το αντίστοιχο αποτέλεσμα μέσω του ' αν/αλλιώς », δήλωση.

Σύνταξη



δημόσιο ενθ σύγκρισηΜε ( Αντικείμενο αντικ )

Σύμφωνα με αυτή τη σύνταξη, « Αντικείμενο αντικ ” αντιστοιχεί στο αντικείμενο που πρέπει να συγκριθεί.

Παράδειγμα

Το παρακάτω παράδειγμα εξηγεί την έννοια που συζητήθηκε:

δημόσιο τάξη συγκρίνετε με δεκαδικό {
δημόσιο στατικός κενός κύριος ( Σειρά args [ ] ) {
BigDecimal val1, val2 ;
επιλογή 1 = νέος BigDecimal ( '26326.04' ) ;
val2 = νέος BigDecimal ( '22145.20' ) ;
αν ( επιλογή 1. σύγκρισηΜε ( val2 ) == 0 ) {
Σύστημα . έξω . println ( επιλογή 1 + ' και ' + val2 + ' είναι ίσα' ) ;
}
αλλού αν ( επιλογή 1. σύγκρισηΜε ( val2 ) == - 1 ) {
Σύστημα . έξω . println ( επιλογή 1 + ' είναι λιγότερο από ' + val2 ) ;
}
αλλού {
Σύστημα . έξω . println ( επιλογή 1. σύγκρισηΜε ( val2 ) ) ;
Σύστημα . έξω . println ( επιλογή 1 + ' είναι μεγαλύτερο από ' + val2 ) ;
}

Σύμφωνα με τις παραπάνω γραμμές κώδικα, εφαρμόστε τα ακόλουθα βήματα:

  • Πρώτα απ 'όλα, δημιουργήστε δύο ' Μεγάλοι Δεκαδικοί ” έχοντας τις δηλωμένες τιμές.
  • Τώρα, συσχετίστε το ' συγκρίνετε με () ' μέθοδος τόσο με τις εκχωρημένες τιμές όσο και με την ικανοποιημένη συνθήκη στο ' αν ” δήλωση, καταγράψτε το αντίστοιχο μήνυμα.
  • Σημείωση: Οι συνθήκες καθορίζονται με βάση το επιστρεφόμενο αποτέλεσμα της μεθόδου για να λειτουργήσει σωστά η μέθοδος.
  • Ομοίως, το « αλλιώς αν Η δήλωση προσδιορίζει την άλλη συνθήκη λαμβάνοντας υπόψη τον τύπο επιστροφής μεθόδου, δηλ. -1 '.
  • Τέλος, κάντε το « αλλού Η δήλωση τίθεται σε ισχύ και με τις δύο παραπάνω μη ικανοποιημένες προϋποθέσεις.

Παραγωγή

Στο παραπάνω αποτέλεσμα, το επιστρεφόμενο ' 1 ' υποδηλώνει ότι το ' αλλού », γίνεται επίκληση δήλωσης.

Προσέγγιση 2: Συγκρίνετε δύο BigDecimals στην Java χρησιμοποιώντας τη μέθοδο 'equals()'

Ο ' ίσον () 'μέθοδος της Java' BigDecimal Η κλάση χρησιμοποιείται για τη σύγκριση των BigDecimals για ισότητα με βάση την τιμή και την κλίμακα. Αυτή η μέθοδος μπορεί να εφαρμοστεί για να εφαρμόσει έναν έλεγχο στους BigDecimals που έχουν μια παραλλαγή στην κλίμακα τους.

Σύνταξη

δημόσιο boolean ισοδυναμεί ( Αντικείμενο Χ )

Σε αυτή τη σύνταξη, ' Αντικείμενο x ” αντιστοιχεί στο αντικείμενο με το οποίο πρέπει να συγκριθεί αυτό το BigDecimal.

Παράδειγμα

Ας δούμε γενικά το ακόλουθο παράδειγμα:

δημόσιο τάξη συγκρίνωμεδεκαδικός2 {
δημόσιο στατικός κενός κύριος ( Σειρά args [ ] ) {
BigDecimal val1, val2 ;
επιλογή 1 = νέος BigDecimal ( '205,0' ) ;
val2 = νέος BigDecimal ( '205.00' ) ;
αν ( επιλογή 1. ισοδυναμεί ( val2 ) ) {
Σύστημα . έξω . println ( επιλογή 1 + ' και ' + val2 + ' είναι ίσα' ) ;
}
αλλού {
Σύστημα . έξω . println ( επιλογή 1 + ' και ' + val2 + 'δεν είναι ίσοι' ) ;
}
} }

Σύμφωνα με τον παραπάνω κώδικα:

  • Ομοίως, δημιουργήστε δύο BigDecimals που έχουν διακύμανση στην κλίμακα τους.
  • Σημείωση: ' 0 ' δεν είναι ίσο με ' 2.00 » σε σύγκριση με αυτή τη μέθοδο.
  • Μετά από αυτό, εφαρμόστε το ' ίσον () ' μέθοδος σύγκρισης των δημιουργημένων BigDecimals και επιστροφής του αντίστοιχου αποτελέσματος μέσω του ' αν/αλλιώς », δήλωση.

Παραγωγή

Σε αυτό το αποτέλεσμα, μπορεί να παρατηρηθεί ότι τόσο το « Μεγάλοι Δεκαδικοί ” δεν είναι ίσες λόγω διαφοροποίησης στην κλίμακα.

Ωστόσο, το ακόλουθο αποτέλεσμα οδηγεί στο να γίνουν ίσοι οι 'BigDecimals':

Έτσι μπορείς να συγκρίνεις δύο» Μεγάλοι Δεκαδικοί ” στην Java.

συμπέρασμα

ΕΝΑ ' BigDecimal ' στην Java περιλαμβάνει μια ακέραια κλίμακα 32 bit. Οι δύο BigDecimals στην Java μπορούν να συγκριθούν εφαρμόζοντας το ' compareTo() ', ή το ' ίσον () ' μεθόδους. Η προηγούμενη προσέγγιση επιστρέφει την έξοδο με βάση την υπολογισμένη σύγκριση. Η τελευταία προσέγγιση αναλύει τις BigDecimal τιμές με βάση τις καθορισμένες κλίμακες. Αυτό το ιστολόγιο καθοδηγείται για τη σύγκριση των δύο 'BigDecimals' στην Java.