Come confrontare due bigdecimals in Java

Come confrontare due bigdecimals in Java
IL "Bigdecimal"La classe in Java fornisce aritmetica, gestione della scala, arrotondamento, funzionalità di confronto, ecc. Oltre a ciò, consente ai programmatori di far fronte a numeri interi a punto galleggiante grandi e piccoli con eccezionale precisione. Ciò aiuta a raggiungere una maggiore precisione rispetto al numero fisso di decimali.

Questo articolo approfondirà gli approcci per confrontare due "bigdecimals" in Java.

Ciò che è "bigdecimal" in java?

UN "Bigdecimal"In Java comprende una scala intera a 32 bit e viene utilizzato per gestire numeri a punto mobile molto grandi e molto piccoli. IL "scala"Rappresenta il numero di cifre a destra del punto decimale.

Come confrontare due bigdecimals in Java?

Per confrontare due bigdecimals in Java, applicare i seguenti approcci:

  • "Paragonare a()" Metodo.
  • "equivale()" Metodo.

Prima di andare agli approcci, assicurati di includere il pacchetto sotto fornito per accedere al "matematica"Metodi di classe:

Importa Java.matematica.*;

Approccio 1: confronta due bigdecimals in Java usando il metodo "comparazione ()"

IL "Paragonare a()Il metodo "confronta i due"Bigdecimali"E restituisce il risultato in base ai seguenti parametri:

Risultato restituito Confronto calcolato
1 Se l'ex bigdecimal è maggiore del secondo bigdecimal.
0 Nel caso in cui l'ex bigdecimale sia uguale al secondo bigdecimal.
-1 Quando l'ex bigdecimal è inferiore alla seconda bigdecimal.

Questo metodo può essere applicato per confrontare i due creati "Bigdecimal"Valori e restituire il risultato corrispondente tramite"se altro" dichiarazione.

Sintassi

public int comparato (Object Obj)

Secondo questa sintassi, "Object obj"Corrisponde all'oggetto che deve essere confrontato.

Esempio

L'esempio sotto fornito spiega il concetto discusso:

Classe pubblica ConfrontBigDecimal
public static void main (string args [])
Bigdecimal Val1, Val2;
Val1 = new BigDecimal ("26326.04 ");
Val2 = new BigDecimal ("22145.20 ");
if (Val1.comparatore (val2) == 0)
Sistema.fuori.println (val1 + "e" + val2 + "sono uguali");

altro se (val1.comparatore (val2) == -1)
Sistema.fuori.println (val1 + "è inferiore a" + val2);

altro
Sistema.fuori.println (Val1.confronto (val2));
Sistema.fuori.println (val1 + "è maggiore di" + val2);

Secondo le righe di codice sopra, applicare le seguenti passaggi:

  • Prima di tutto, crea due "Bigdecimali"Avere i valori dichiarati.
  • Ora, associa il "Paragonare a()"Metodo con entrambi i valori assegnati e sulla condizione soddisfatta in"Se"Dichiarazione, registrare il messaggio corrispondente.
  • Nota: Le condizioni sono specificate in base al risultato restituito del metodo per far funzionare correttamente il metodo.
  • Allo stesso modo, il "altro se"L'istruzione specifica l'altra condizione considerando il tipo di restituzione del metodo, i.e., "-1".
  • Infine, fai il "altro"Dichiarazione entra in vigore entrambe le condizioni di cui sopra.

Produzione

Nel risultato di cui sopra, il restituito "1"Indica che il"altro"La dichiarazione è invocata.

Approccio 2: confronta due bigdecimals in Java usando il metodo "equals ()"

IL "equivale()"Metodo del Java"Bigdecimal"La classe viene utilizzata per confrontare i bigdecimals per l'uguaglianza in base al valore e alla scala. Questo metodo può essere implementato per applicare un assegno sui bigdecimals che hanno una variazione nella loro scala.

Sintassi

uguali booleani pubblici (oggetto x)

In questa sintassi, "Oggetto x"Corrisponde all'oggetto con cui deve essere confrontato questo grande decimale.

Esempio

Panoramiamo il seguente esempio:

Classe pubblica ConfrontBigDecimal2
public static void main (string args [])
Bigdecimal Val1, Val2;
Val1 = new BigDecimal ("205.0 ");
Val2 = new BigDecimal ("205.00 ");
if (Val1.equals (val2))
Sistema.fuori.println (val1 + "e" + val2 + "sono uguali");

altro
Sistema.fuori.println (val1 + "e" + val2 + "non sono uguali");

Secondo il codice sopra:

  • Allo stesso modo, crea due bigdecimals con variazione nella loro scala.
  • Nota: "0"Non è uguale a"2.00"Se confrontato a questo metodo.
  • Dopodiché, applica il "equivale()"Metodo per confrontare i bigdecimal creati e restituire il risultato corrispondente tramite"se altro" dichiarazione.

Produzione

In questo risultato, si può osservare che sia il "Bigdecimali"Non sono uguali a causa della variazione di scala.

Tuttavia, il seguente risultato porta a rendere uguali i "bigdecimals":

È così che puoi confrontare due "Bigdecimali"In Java.

Conclusione

UN "Bigdecimal"In Java comprende una scala intera a 32 bit. I due bigdecimals in Java possono essere confrontati applicando il "Paragonare a()", o il "equivale()"Metodi. Il primo approccio restituisce l'output in base al confronto calcolato. Quest'ultimo approccio analizza i valori BigDecimal in base alle scale specificate. Questo blog è guidato a confrontare i due "bigdecimals" in Java.