Kako usporediti dvije velike decimale u Javi

Kako Usporediti Dvije Velike Decimale U Javi



' BigDecimal ” klasa u Javi pruža aritmetiku, upravljanje skalom, zaokruživanje, usporedbu, itd. Osim toga, programerima omogućuje da se nose s velikim i malim cijelim brojevima s pomičnim zarezom s iznimnom preciznošću. Ovo pomaže u postizanju veće preciznosti u odnosu na fiksni broj decimala.

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.