Hoe twee BigDecimals in Java te vergelijken

Hoe Twee Bigdecimals In Java Te Vergelijken



De ' GroteDecimaal ” class in Java biedt functies voor rekenen, schaalbeheer, afronding, vergelijking, enz. Bovendien stelt het programmeurs in staat om met uitzonderlijke precisie om te gaan met grote en kleine drijvende-komma gehele getallen. Dit helpt bij het bereiken van meer precisie over het vaste aantal decimalen.

Dit artikel gaat dieper in op de benaderingen om twee 'BigDecimals' in Java te vergelijken.

Wat is 'BigDecimal' in Java?

A ' GroteDecimaal ” in Java bestaat uit een 32-bit integer-schaal en wordt gebruikt om zeer grote en zeer kleine drijvende-kommagetallen te verwerken. De ' schaal ” staat voor het aantal cijfers rechts van de komma.







Hoe twee BigDecimals in Java te vergelijken?

Pas de volgende benaderingen toe om twee BigDecimals in Java te vergelijken:



Voordat u naar de benaderingen gaat, moet u ervoor zorgen dat u het onderstaande pakket toevoegt om toegang te krijgen tot de ' wiskunde ” klasse methoden:



importeren java.wiskunde.* ;

Benadering 1: Vergelijk twee BigDecimals in Java met behulp van de 'compareTo()'-methode

De ' vergelijk met() ” methode vergelijkt de twee “ GroteDecimalen ” en retourneert de uitkomst op basis van de volgende parameters:





Geretourneerde uitkomst Berekende vergelijking
1 Als de voormalige BigDecimal groter is dan de laatste BigDecimal.
0 In het geval dat de voormalige BigDecimal gelijk is aan de laatste BigDecimal.
-1 Wanneer de voormalige BigDecimal kleiner is dan de laatste BigDecimal.

Deze methode kan worden toegepast om de twee gecreëerde ' GroteDecimaal ” waardes en retourneer de corresponderende uitkomst via de “ als/anders ' stelling.

Syntaxis



openbaar int vergelijk met ( Voorwerp obj )

Volgens deze syntaxis, ' Voorwerp obj ” komt overeen met het object dat moet worden vergeleken.

Voorbeeld

Het onderstaande voorbeeld legt het besproken concept uit:

openbaar klas vergelijkgrotedecimaal {
openbaar statisch leegte voornaamst ( Snaar argumenten [ ] ) {
GroteDecimaal val1, val2 ;
keuze1 = nieuw GroteDecimaal ( '26326.04' ) ;
val2 = nieuw GroteDecimaal ( '22145.20' ) ;
als ( keuze1. vergelijk met ( val2 ) == 0 ) {
Systeem . uit . println ( keuze1 + ' En ' + val2 + ' zijn gelijk' ) ;
}
anders als ( keuze1. vergelijk met ( val2 ) == - 1 ) {
Systeem . uit . println ( keuze1 + ' is minder dan ' + val2 ) ;
}
anders {
Systeem . uit . println ( keuze1. vergelijk met ( val2 ) ) ;
Systeem . uit . println ( keuze1 + ' is groter dan ' + val2 ) ;
}

Voer de volgende stappen uit volgens de bovenstaande coderegels:

  • Maak eerst twee ' GroteDecimalen ” met de vermelde waarden.
  • Koppel nu de ' vergelijk met() ” methode met zowel de toegewezen waarden, en op de voldaan voorwaarde in de “ als ”-verklaring, registreert u het bijbehorende bericht.
  • Opmerking: De voorwaarden worden gespecificeerd op basis van de geretourneerde uitkomst van de methode om de methode correct te laten werken.
  • Zo ook de “ anders als ” statement specificeert de andere voorwaarde rekening houdend met het retourtype van de methode, d.w.z. “ -1 ”.
  • Maak tot slot de “ anders ”verklaring wordt van kracht op beide bovengenoemde onbevredigde voorwaarden.

Uitgang

In de bovenstaande uitkomst is de geretourneerde ' 1 ” geeft aan dat de “ anders ”verklaring wordt ingeroepen.

Benadering 2: Vergelijk twee BigDecimals in Java met behulp van de 'equals()'-methode

De ' is gelijk aan () ' methode van Java ' GroteDecimaal ” klasse wordt gebruikt om de BigDecimals te vergelijken voor gelijkheid op basis van waarde en schaal. Deze methode kan worden geïmplementeerd om een ​​controle uit te voeren op de BigDecimals met een variatie in hun schaal.

Syntaxis

openbaar booleaans gelijk aan ( Voorwerp X )

In deze syntaxis, ' Voorwerp x ” komt overeen met het object waarmee deze BigDecimal moet worden vergeleken.

Voorbeeld

Laten we het volgende voorbeeld bekijken:

openbaar klas vergelijkgrotedecimaal2 {
openbaar statisch leegte voornaamst ( Snaar argumenten [ ] ) {
GroteDecimaal val1, val2 ;
keuze1 = nieuw GroteDecimaal ( '205.0' ) ;
val2 = nieuw GroteDecimaal ( '205.00' ) ;
als ( keuze1. gelijk aan ( val2 ) ) {
Systeem . uit . println ( keuze1 + ' En ' + val2 + ' zijn gelijk' ) ;
}
anders {
Systeem . uit . println ( keuze1 + ' En ' + val2 + 'zijn niet gelijk' ) ;
}
} }

Volgens bovenstaande code:

  • Maak op dezelfde manier twee BigDecimals met variatie in hun schaal.
  • Opmerking: 0 ” is niet gelijk aan “ 2.00 ” in vergelijking met deze methode.
  • Pas daarna de ' is gelijk aan () ' methode om de gemaakte BigDecimals te vergelijken en de overeenkomstige uitkomst te retourneren via de ' als/anders ' stelling.

Uitgang

In deze uitkomst kan worden waargenomen dat zowel de ' GroteDecimalen ” zijn niet gelijk vanwege variatie in schaal.

De volgende uitkomst leidt echter tot het gelijk maken van de 'BigDecimals':

Zo kun je er twee vergelijken” GroteDecimalen ” op Java.

Conclusie

A ' GroteDecimaal ” in Java bestaat uit een 32-bit integer-schaal. De twee BigDecimals in Java kunnen worden vergeleken door de ' vergelijk met() ', of de ' is gelijk aan () ” methoden. De eerste benadering retourneert de uitvoer op basis van de berekende vergelijking. De laatste benadering analyseert de BigDecimal-waarden op basis van de opgegeven schalen. Deze blog is bedoeld om de twee 'BigDecimals' in Java te vergelijken.