Αυτό το άρθρο θα επεξεργαστεί τις προσεγγίσεις για τη σύγκριση δύο «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.