Denne artikkelen vil utdype tilnærmingene for å sammenligne to 'BigDecimals' i Java.
Hva er 'BigDecimal' i Java?
en ' BigDesimal ” i Java består av en 32-bits heltallsskala og brukes til å håndtere svært store og svært små flyttall. « skala ” representerer antall sifre til høyre for desimaltegnet.
Hvordan sammenligne to store desimaler i Java?
For å sammenligne to store desimaler i Java, bruk følgende tilnærminger:
Før du går til tilnærmingene, sørg for å inkludere pakken nedenfor for å få tilgang til ' matte ' klassemetoder:
import java.math.* ;
Tilnærming 1: Sammenlign to store desimaler i Java ved å bruke 'compareTo()'-metoden
« sammenligne med() '-metoden sammenligner de to ' Store desimaler ' og returnerer resultatet basert på følgende parametere:
Returnert utfall | Beregnet sammenligning |
---|---|
1 | Hvis førstnevnte BigDecimal er større enn sistnevnte BigDecimal. |
0 | I tilfelle at den tidligere BigDecimal er lik den siste BigDecimal. |
-1 | Når førstnevnte BigDecimal er mindre enn sistnevnte BigDecimal. |
Denne metoden kan brukes til å sammenligne de to opprettede ' BigDesimal ' verdier og returnerer det tilsvarende resultatet via ' hvis/annet ' uttalelse.
Syntaks
offentlig int sammenligne med ( Gjenstand obj )
I henhold til denne syntaksen, ' Objekt obj ” tilsvarer objektet som skal sammenlignes.
Eksempel
Eksempelet nedenfor forklarer det diskuterte konseptet:
offentlig klasse sammenlign store desimaler {offentlig statisk tomrom hoved- ( String args [ ] ) {
BigDesimal val1, val2 ;
valg 1 = ny BigDesimal ( '26326.04' ) ;
val2 = ny BigDesimal ( '22145.20' ) ;
hvis ( valg 1. sammenligne med ( val2 ) == 0 ) {
System . ute . println ( valg 1 + 'og' + val2 + ' er like' ) ;
}
ellers hvis ( valg 1. sammenligne med ( val2 ) == - 1 ) {
System . ute . println ( valg 1 + ' er mindre enn ' + val2 ) ;
}
ellers {
System . ute . println ( valg 1. sammenligne med ( val2 ) ) ;
System . ute . println ( valg 1 + ' er større enn ' + val2 ) ;
}
I henhold til kodelinjene ovenfor, bruk følgende trinn:
- Først av alt, lag to ' Store desimaler har de angitte verdiene.
- Tilknytt nå ' sammenligne med() '-metoden med både de tilordnede verdiene, og på den oppfylte betingelsen i ' hvis ”-setning, logg den tilsvarende meldingen.
- Merk: Betingelsene er spesifisert basert på metodens returnerte resultat for å få metoden til å fungere skikkelig.
- På samme måte er ' eller hvis '-setningen spesifiserer den andre betingelsen med tanke på metodens returtype, dvs. ' -1 '.
- Til slutt gjør du ' ellers ”-erklæringen trer i kraft på begge de ovennevnte uoppfylte betingelsene.
Produksjon
I resultatet ovenfor, returnerte ' 1 ' indikerer at ' ellers ” uttalelse påberopes.
Tilnærming 2: Sammenlign to store desimaler i Java ved å bruke 'equals()'-metoden
« er lik() 'metoden til Java' BigDesimal ”-klassen brukes til å sammenligne BigDecimals for likhet basert på verdi og skala. Denne metoden kan implementeres for å bruke en kontroll på BigDecimals som har en variasjon i deres skala.
Syntaks
offentlig boolsk er lik ( Gjenstand x )I denne syntaksen ' Objekt x ” tilsvarer objektet som denne BigDecimalen må sammenlignes med.
Eksempel
La oss se på følgende eksempel:
offentlig klasse sammenlign stordesimal2 {offentlig statisk tomrom hoved- ( String args [ ] ) {
BigDesimal val1, val2 ;
valg 1 = ny BigDesimal ( '205.0' ) ;
val2 = ny BigDesimal ( '205.00' ) ;
hvis ( valg 1. er lik ( val2 ) ) {
System . ute . println ( valg 1 + 'og' + val2 + ' er like' ) ;
}
ellers {
System . ute . println ( valg 1 + 'og' + val2 + 'er ikke like' ) ;
}
} }
I henhold til koden ovenfor:
- På samme måte lager du to store desimaler med variasjon i skalaen.
- Merk: ' 0 ' er ikke lik ' 2.00 ” sammenlignet med denne metoden.
- Etter det bruker du ' er lik() '-metoden for å sammenligne de opprettede BigDecimals og returnere det tilsvarende resultatet via ' hvis/annet ' uttalelse.
Produksjon
I dette resultatet kan det observeres at både ' Store desimaler ” er ikke like på grunn av variasjon i skala.
Imidlertid fører følgende utfall til å gjøre 'BigDecimals' like:
Slik kan du sammenligne to ' Store desimaler ' i Java.
Konklusjon
en ' BigDesimal ” i Java består av en 32-bits heltallsskala. De to store desimalene i Java kan sammenlignes ved å bruke ' sammenligne med() ', eller ' er lik() 'metoder. Den tidligere tilnærmingen returnerer produksjonen basert på den beregnede sammenligningen. Den siste tilnærmingen analyserer BigDecimal-verdiene basert på de spesifiserte skalaene. Denne bloggen er guidet for å sammenligne de to 'BigDecimals' i Java.