Hvordan sammenligne to BigDecimals i Java

Hvordan sammenligne to BigDecimals i Java
BigDecimal”Klasse i Java gir aritmetikk, skalaladministrasjon, avrunding, sammenligningsfunksjonaliteter osv. I tillegg til det, gjør det at programmerere kan takle store og små flytende punkt-heltall med eksepsjonell presisjon. Dette hjelper med å oppnå mer presisjon over det faste antall desimaler.

Denne artikkelen vil utdype tilnærmingene for å sammenligne to “bigdecimals” i Java.

Hva er "bigdecimal" i java?

En "BigDecimal”I Java omfatter en 32-bit heltall skala og brukes til å håndtere veldig store og veldig små flytende punkttall. “skala”Representerer antall sifre til høyre for desimalpunktet.

Hvordan sammenligne to BigDecimals i Java?

For å sammenligne to BigDecimals i Java, bruk følgende tilnærminger:

  • sammenligne med()”Metode.
  • er lik()”Metode.

Før du drar til tilnærmingene, må du huske å inkludere pakken under for å få tilgang til “matte”Klassemetoder:

Importer Java.matte.*;

Tilnærming 1: Sammenlign to BigDecimals i Java ved å bruke metoden “Compareto ()”

sammenligne med()”Metode sammenligner de to”Bigdecimals”Og returnerer utfallet basert på følgende parametere:

Returnert utfall Beregnet sammenligning
1 Hvis den tidligere bigdecimalen er større enn sistnevnte bigdecimal.
0 Når det.
-1 Når den tidligere BigDecimal er mindre enn sistnevnte BigDecimal.

Denne metoden kan brukes for å sammenligne de to opprettet "BigDecimal”Verdier og returner det tilsvarende utfallet via“Hvis/ellers”Uttalelse.

Syntaks

public int compareto (objekt obj)

I følge denne syntaksen, “Objekt obj”Tilsvarer objektet som må sammenlignes.

Eksempel

Eksemplet under levert forklarer det diskuterte konseptet:

offentlig klasse CompareBigDecimal
public static void main (String args [])
BigDecimal Val1, Val2;
VAL1 = NY BIGDECIMAL ("26326.04 ");
Val2 = Ny BigDecimal ("22145.20 ");
hvis (val1.sammenligning (val2) == 0)
System.ute.println (val1 + "og" + val2 + "er like");

ellers hvis (val1.sammenligning (val2) == -1)
System.ute.println (val1 + "er mindre enn" + val2);

annet
System.ute.Println (VAL1.sammenligning (VAL2));
System.ute.println (val1 + "er større enn" + val2);

I henhold til kodelinjene ovenfor, bruk følgende trinn:

  • Først av alt, lage to “Bigdecimals”Å ha de uttalte verdiene.
  • Nå, tilknytte "sammenligne med()”Metode med både de tildelte verdiene, og ved fornøyd tilstand i“hvis”Uttalelse, logg den tilsvarende meldingen.
  • Merk: Forholdene er spesifisert basert på metodens returnerte utfall for å få metoden til å fungere ordentlig.
  • På samme måte "eller hvis”Uttalelse spesifiserer den andre tilstanden med tanke på metodeavkastningstypen, i.e., “-1”.
  • Til slutt, lag "ellers”Uttalelsen trer i kraft både de ovennevnte forholdene ovenfor.

Produksjon

I ovennevnte utfall, det returnerte “1”Indikerer at“ellers”Uttalelsen påberopes.

Tilnærming 2: Sammenlign to BigDecimals i Java ved å bruke metoden “Equals ()”

er lik()”Java -metoden”BigDecimal”Klasse brukes til å sammenligne BigDecimals for likhet basert på verdi og skala. Denne metoden kan implementeres for å anvende en sjekk på BigDecimals som har en variasjon i skalaen.

Syntaks

Offentlig boolsk lik (objekt X)

I denne syntaksen, “Objekt x”Tilsvarer objektet som denne store Decimal må sammenlignes.

Eksempel

La oss oversikt følgende eksempel:

offentlig klasse CompareBigDecimal2
public static void main (String args [])
BigDecimal Val1, Val2;
VAL1 = NY BIGDECIMAL ("205.0 ");
VAL2 = NY BIGDECIMAL ("205.00 ");
hvis (val1.lik (val2))
System.ute.println (val1 + "og" + val2 + "er like");

annet
System.ute.println (val1 + "og" + val2 + "er ikke like");

I henhold til koden ovenfor:

  • Lag på samme måte to BigDecimals som har variasjon i skalaen.
  • Merk:0”Er ikke lik“2.00”Sammenlignet med denne metoden.
  • Etter det, bruk "er lik()”Metode for å sammenligne de opprettede bigdecimalene og returnere det tilsvarende utfallet via“Hvis/ellers”Uttalelse.

Produksjon

I dette resultatet kan det observeres at både "Bigdecimals”Er ikke like på grunn av variasjon i skala.

Følgende utfall fører imidlertid til at "BigDecimals" er like:

Slik kan du sammenligne to "Bigdecimals”I Java.

Konklusjon

En "BigDecimal”I Java består av en 32-bit heltall skala. De to bigdecimalene i Java kan sammenlignes ved å bruke "sammenligne med()", eller "er lik()”Metoder. Den tidligere tilnærmingen returnerer utgangen basert på den beregnede sammenligningen. Den sistnevnte tilnærmingen analyserer de store Decimal -verdiene basert på de spesifiserte skalaene. Denne bloggen blir guidet til å sammenligne de to “BigDecimals” i Java.