Sådan sammenlignes to store decimaler i Java

Sadan Sammenlignes To Store Decimaler I Java



Det ' BigDecimal ” klasse i Java leverer aritmetik, skalastyring, afrunding, sammenligningsfunktionaliteter osv. Ud over det gør det programmører i stand til at klare store og små flydende heltal med enestående præcision. Dette hjælper med at opnå mere præcision over det faste antal decimaler.

Denne artikel vil uddybe metoderne til at sammenligne to 'BigDecimals' i Java.

Hvad er 'BigDecimal' i Java?

en ' BigDecimal ” i Java omfatter en 32-bit heltalsskala og bruges til at håndtere meget store og meget små flydende kommatal. Det ' vægt ” repræsenterer antallet af cifre til højre for decimaltegnet.







Hvordan sammenligner man to store decimaler i Java?

For at sammenligne to store decimaler i Java skal du anvende følgende fremgangsmåder:



Før du går til tilgangene, skal du sørge for at inkludere den nedenfor angivne pakke for at få adgang til ' matematik Klasse metoder:



importere java.math.* ;

Fremgangsmåde 1: Sammenlign to store decimaler i Java ved hjælp af 'compareTo()'-metoden

Det ' sammenligne med() ”-metoden sammenligner de to ” Store decimaler ' og returnerer resultatet baseret på følgende parametre:





Returneret resultat Beregnet sammenligning
1 Hvis den tidligere BigDecimal er større end den sidstnævnte BigDecimal.
0 I tilfælde af at den førstnævnte BigDecimal er lig med den sidstnævnte BigDecimal.
-1 Når førstnævnte BigDecimal er mindre end sidstnævnte BigDecimal.

Denne metode kan anvendes til at sammenligne de to oprettede ' BigDecimal ' værdier og returnerer det tilsvarende resultat via ' hvis ellers ' udmelding.

Syntaks



offentlig int sammenligne med ( Objekt obj )

Ifølge denne syntaks, ' Objekt obj ” svarer til det objekt, der skal sammenlignes.

Eksempel

Nedenstående eksempel forklarer det diskuterede koncept:

offentlig klasse sammenligne stordecimal {
offentlig statisk ugyldig vigtigste ( Snor args [ ] ) {
BigDecimal val1, val2 ;
  val1 = ny BigDecimal ( '26326.04' ) ;
val2 = ny BigDecimal ( '22145.20' ) ;
hvis ( val1. sammenligne med ( val2 ) == 0 ) {
System . ud . println ( val1 + 'og' + val2 + 'er ligeværdige' ) ;
}
andet hvis ( val1. sammenligne med ( val2 ) == - 1 ) {
System . ud . println ( val1 + ' er mindre end ' + val2 ) ;
}
andet {
System . ud . println ( val1. sammenligne med ( val2 ) ) ;
System . ud . println ( val1 + ' er større end ' + val2 ) ;
}

I henhold til ovenstående kodelinjer skal du anvende følgende trin:

  • Først og fremmest skal du oprette to ' Store decimaler ” have de angivne værdier.
  • Tilknyt nu ' sammenligne med() ” metode med både de tildelte værdier og efter den opfyldte betingelse i hvis ”-udsagn, skal du logge den tilsvarende meddelelse.
  • Bemærk: Betingelserne er specificeret ud fra metodens returnerede resultat for at få metoden til at fungere korrekt.
  • Ligeledes er ' andet hvis ”-sætning specificerer den anden betingelse i betragtning af metodens returtype, dvs. -1 ”.
  • Lav endelig ' andet ”-erklæring træder i kraft på begge de ovennævnte uopfyldte betingelser.

Produktion

I ovenstående resultat returnerede ' 1 ' angiver, at ' andet ” erklæring påberåbes.

Fremgangsmåde 2: Sammenlign to store decimaler i Java ved hjælp af 'equals()'-metoden

Det ' lige med() ' Java-metoden ' BigDecimal ” klasse bruges til at sammenligne BigDecimals for lighed baseret på værdi og skala. Denne metode kan implementeres til at anvende en kontrol på de store decimaler, der har en variation i deres skala.

Syntaks

offentlig boolesk lige med ( Objekt x )

I denne syntaks, ' Objekt x ” svarer til det objekt, som denne BigDecimal skal sammenlignes med.

Eksempel

Lad os gennemgå følgende eksempel:

offentlig klasse sammenligne stordecimal2 {
offentlig statisk ugyldig vigtigste ( Snor args [ ] ) {
BigDecimal val1, val2 ;
  val1 = ny BigDecimal ( '205.0' ) ;
val2 = ny BigDecimal ( '205.00' ) ;
hvis ( val1. lige med ( val2 ) ) {
System . ud . println ( val1 + 'og' + val2 + 'er ligeværdige' ) ;
}
andet {
System . ud . println ( val1 + 'og' + val2 + 'er ikke lige' ) ;
}
} }

I henhold til ovenstående kode:

  • Ligeledes skal du oprette to store decimaler med variation i deres skala.
  • Bemærk: 0 ' er ikke lig med ' 2.00 ” sammenlignet med denne metode.
  • Anvend derefter ' lige med() ' metode til at sammenligne de oprettede BigDecimaler og returnere det tilsvarende resultat via ' hvis ellers ' udmelding.

Produktion

I dette resultat kan det observeres, at både ' Store decimaler ” er ikke ens på grund af variation i skala.

Imidlertid fører følgende resultat til at gøre 'BigDecimals' lige:

Sådan kan du sammenligne to ' Store decimaler ” i Java.

Konklusion

en ' BigDecimal ” i Java omfatter en 32-bit heltalsskala. De to store decimaler i Java kan sammenlignes ved at anvende ' sammenligne med() ', eller den ' lige med() ' metoder. Den førstnævnte tilgang returnerer output baseret på den beregnede sammenligning. Sidstnævnte tilgang analyserer BigDecimal-værdierne baseret på de specificerede skalaer. Denne blog er guidet til at sammenligne de to 'BigDecimals' i Java.