Hur man jämför två stora decimaler i Java

Hur Man Jamfor Tva Stora Decimaler I Java



den ' BigDecimal ” klass i Java tillhandahåller aritmetik, skalhantering, avrundning, jämförelsefunktioner etc. Utöver det gör den det möjligt för programmerare att hantera stora och små flyttallsheltal med exceptionell precision. Detta hjälper till att uppnå mer precision över det fasta antalet decimaler.

Den här artikeln kommer att utveckla metoderna för att jämföra två 'BigDecimals' i Java.

Vad är 'BigDecimal' i Java?

en ' BigDecimal ” i Java består av en 32-bitars heltalsskala och används för att hantera mycket stora och mycket små flyttal. den ' skala ” representerar antalet siffror till höger om decimalkomma.







Hur jämför man två stora decimaler i Java?

För att jämföra två stora decimaler i Java, använd följande metoder:



Innan du går till tillvägagångssätten, se till att inkludera nedanstående paket för att komma åt ' matematik ' klassmetoder:



importera java.math.* ;

Metod 1: Jämför två stora decimaler i Java med 'compareTo()'-metoden

den ' jämföra med() ”-metoden jämför de två ” Stora decimaler ” och returnerar resultatet baserat på följande parametrar:





Returnerat resultat Beräknad jämförelse
1 Om den förra BigDecimal är större än den senare BigDecimal.
0 Om den förra BigDecimal är lika med den senare BigDecimal.
-1 När den förra BigDecimal är mindre än den senare BigDecimal.

Denna metod kan användas för att jämföra de två skapade ' BigDecimal ' värden och returnerar motsvarande resultat via ' om annat ' påstående.

Syntax



offentlig int jämföra med ( Objekt obj )

Enligt denna syntax, ' Objekt obj ” motsvarar det objekt som ska jämföras.

Exempel

Exemplet nedan förklarar det diskuterade konceptet:

offentlig klass jämför stordecimal {
offentlig statisk tomhet huvud ( Sträng args [ ] ) {
BigDecimal val1, val2 ;
val1 = ny BigDecimal ( '26326.04' ) ;
val2 = ny BigDecimal ( '22145.20' ) ;
om ( val1. jämföra med ( val2 ) == 0 ) {
Systemet . ut . println ( val1 + 'och' + val2 + ' är jämlika' ) ;
}
annan om ( val1. jämföra med ( val2 ) == - 1 ) {
Systemet . ut . println ( val1 + ' är mindre än ' + val2 ) ;
}
annan {
Systemet . ut . println ( val1. jämföra med ( val2 ) ) ;
Systemet . ut . println ( val1 + ' är större än ' + val2 ) ;
}

Enligt ovanstående kodrader, tillämpa följande steg:

  • Först av allt, skapa två ' Stora decimaler ” med de angivna värdena.
  • Koppla nu till ' jämföra med() '-metoden med både de tilldelade värdena och om villkoret är uppfyllt i ' om ” uttalande, logga motsvarande meddelande.
  • Notera: Villkoren specificeras utifrån metodens returnerade resultat för att få metoden att fungera korrekt.
  • Likaså ' annat om ”-satsen anger det andra villkoret med hänsyn till metodens returtyp, dvs. -1 ”.
  • Gör slutligen ' annan ” uttalande träder i kraft på båda ovanstående ouppfyllda villkor.

Produktion

I ovanstående resultat, returnerade ' 1 ' indikerar att ' annan ” uttalande åberopas.

Metod 2: Jämför två stora decimaler i Java med metoden 'equals()'.

den ' lika() 'metoden för Java' BigDecimal Klassen används för att jämföra BigDecimals för jämlikhet baserat på värde och skala. Denna metod kan implementeras för att tillämpa en kontroll på BigDecimals som har en variation i deras skala.

Syntax

offentlig booleskt lika ( Objekt x )

I den här syntaxen ' Objekt x ” motsvarar det objekt som denna BigDecimal måste jämföras med.

Exempel

Låt oss överblicka följande exempel:

offentlig klass jämför stordecimal2 {
offentlig statisk tomhet huvud ( Sträng args [ ] ) {
BigDecimal val1, val2 ;
val1 = ny BigDecimal ( '205.0' ) ;
val2 = ny BigDecimal ( '205.00' ) ;
om ( val1. lika ( val2 ) ) {
Systemet . ut . println ( val1 + 'och' + val2 + ' är jämlika' ) ;
}
annan {
Systemet . ut . println ( val1 + 'och' + val2 + 'är inte lika' ) ;
}
} }

Enligt ovanstående kod:

  • På samma sätt, skapa två stora decimaler med variation i sin skala.
  • Notera: ' 0 ' är inte lika med ' 2.00 ” jämfört med denna metod.
  • Efter det, använd ' lika() '-metoden för att jämföra de skapade BigDecimalerna och returnera motsvarande resultat via ' om annat ' påstående.

Produktion

I detta resultat kan det observeras att både ' Stora decimaler ” är inte lika på grund av variation i skala.

Följande resultat leder dock till att 'BigDecimals' blir lika:

Det är så du kan jämföra två ' Stora decimaler ' i Java.

Slutsats

en ' BigDecimal ” i Java består av en 32-bitars heltalsskala. De två stora decimalerna i Java kan jämföras genom att använda ' jämföra med() ', eller den ' lika() ' metoder. Det tidigare tillvägagångssättet returnerar resultatet baserat på den beräknade jämförelsen. Det senare tillvägagångssättet analyserar BigDecimal-värdena baserat på de angivna skalorna. Den här bloggen är guidad för att jämföra de två 'BigDecimals' i Java.