Ovaj će članak razraditi pristupe usporedbe dva 'BigDecimala' u Javi.
Što je 'BigDecimal' u Javi?
A “ BigDecimal ” u Javi sadrži 32-bitnu ljestvicu cijelog broja i koristi se za rukovanje vrlo velikim i vrlo malim brojevima s pomičnim zarezom. ' mjerilo ” predstavlja broj znamenki desno od decimalne točke.
Kako usporediti dvije velike decimale u Javi?
Za usporedbu dva BigDecimala u Javi, primijenite sljedeće pristupe:
Prije nego što krenete prema prilazima, svakako uključite dolje navedeni paket za pristup ' matematika ” metode klase:
uvoz java.math.* ;
Pristup 1: Usporedite dvije velike decimale u Javi pomoću metode “compareTo()”
' usporedi s() ' metoda uspoređuje dvije ' BigDecimali ” i vraća rezultat na temelju sljedećih parametara:
Vraćeni ishod | Izračunata usporedba |
---|---|
1 | Ako je prvi BigDecimal veći od drugog BigDecimal. |
0 | U slučaju da je prvi BigDecimal jednak potonjem BigDecimalu. |
-1 | Kada je prvi BigDecimal manji od drugog BigDecimala. |
Ova se metoda može primijeniti za usporedbu dva stvorena ' BigDecimal ' vrijednosti i vraća odgovarajući ishod putem ' ako/drugo ” izjava.
Sintaksa
javnost int usporediti ( Objekt obj )
Prema ovoj sintaksi, ' Objekt obj ” odgovara objektu koji treba usporediti.
Primjer
Donji primjer objašnjava razmatrani koncept:
javnost razreda usporediveliki decimalni {javnost statički poništiti glavni ( Niz args [ ] ) {
BigDecimal val1, val2 ;
izbor1 = novi BigDecimal ( '26326.04' ) ;
val2 = novi BigDecimal ( '22145,20' ) ;
ako ( izbor1. usporediti ( val2 ) == 0 ) {
Sustav . van . println ( izbor1 + ' i ' + val2 + ' su jednaki' ) ;
}
drugo ako ( izbor1. usporediti ( val2 ) == - 1 ) {
Sustav . van . println ( izbor1 + ' je manje od ' + val2 ) ;
}
drugo {
Sustav . van . println ( izbor1. usporediti ( val2 ) ) ;
Sustav . van . println ( izbor1 + ' je veće od ' + val2 ) ;
}
U skladu s gornjim redcima koda, primijenite sljedeće korake:
- Prije svega, stvorite dva ' BigDecimali ” s navedenim vrijednostima.
- Sada povežite ' usporedi s() ' metoda s obje dodijeljene vrijednosti i nakon zadovoljenog uvjeta u ' ako ”, zapišite odgovarajuću poruku.
- Bilješka: Uvjeti su navedeni na temelju vraćenog rezultata metode kako bi metoda ispravno radila.
- Isto tako, ' inače ako ” naredba navodi drugi uvjet s obzirom na vrstu povrata metode, tj. -1 ”.
- Na kraju napravite ' drugo ” izjava stupa na snagu nakon oba gore navedena nezadovoljena uvjeta.
Izlaz
U gornjem ishodu, vraćeni ' 1 ” označava da je „ drugo ” poziva se izjava.
Pristup 2: Usporedite dvije velike decimale u Javi pomoću metode 'equals()'
' jednako() 'metoda Jave' BigDecimal ” klasa se koristi za usporedbu BigDecimala za jednakost na temelju vrijednosti i razmjera. Ova se metoda može implementirati za primjenu provjere na BigDecimale koji imaju varijacije u svojoj skali.
Sintaksa
javnost Booleov jednaki ( Objekt x )U ovoj sintaksi, ' Objekt x ” odgovara objektu s kojim ovaj BigDecimal treba usporediti.
Primjer
Pogledajmo sljedeći primjer:
javnost razreda usporedivelikidecimal2 {javnost statički poništiti glavni ( Niz args [ ] ) {
BigDecimal val1, val2 ;
izbor1 = novi BigDecimal ( '205,0' ) ;
val2 = novi BigDecimal ( '205,00' ) ;
ako ( izbor1. jednaki ( val2 ) ) {
Sustav . van . println ( izbor1 + ' i ' + val2 + ' su jednaki' ) ;
}
drugo {
Sustav . van . println ( izbor1 + ' i ' + val2 + 'nisu jednaki' ) ;
}
} }
Prema gornjem kodu:
- Isto tako, stvorite dva BigDecimala s varijacijom u mjerilu.
- Bilješka: “ 0 ” nije jednako “ 2,00 ” u usporedbi s ovom metodom.
- Nakon toga primijenite ' jednako() ' za usporedbu stvorenih BigDecimala i vraćanje odgovarajućeg ishoda putem ' ako/drugo ” izjava.
Izlaz
U ovom ishodu, može se primijetiti da su i ' BigDecimali ” nisu jednaki zbog varijacija u mjerilu.
Međutim, sljedeći ishod dovodi do toga da 'BigDecimals' budu jednaki:
Tako možete usporediti dva ' BigDecimali ” na Javi.
Zaključak
A “ BigDecimal ” u Javi sadrži 32-bitnu ljestvicu cijelog broja. Dva BigDecimala u Javi mogu se usporediti primjenom ' usporedi s() ', ili ' jednako() ” metode. Prvi pristup vraća izlaz na temelju izračunate usporedbe. Potonji pristup analizira BigDecimal vrijednosti na temelju navedenih ljestvica. Ovaj blog usmjeren je na usporedbu dvaju 'BigDecimala' u Javi.