Cum se compară două zecimale mari în Java

Cum Se Compara Doua Zecimale Mari In Java



BigDecimal ” în Java oferă funcționalități de aritmetică, management al scalei, rotunjire, comparație etc. În plus, le permite programatorilor să facă față numerelor întregi în virgulă mobilă mari și mici cu o precizie excepțională. Acest lucru ajută la obținerea unei mai mari precizii asupra numărului fix de zecimale.

Acest articol va detalia abordările pentru a compara două „BigDecimals” în Java.

Ce este „BigDecimal” în Java?

A ' BigDecimal ” în Java cuprinde o scară întreagă de 32 de biți și este utilizat pentru a gestiona numere în virgulă mobilă foarte mari și foarte mici. „ scară ” reprezintă numărul de cifre din dreapta punctului zecimal.







Cum se compară două zecimale mari în Java?

Pentru a compara două BigDecimals în Java, aplicați următoarele abordări:



Înainte de a merge la abordări, asigurați-vă că includeți pachetul furnizat mai jos pentru a accesa „ matematica ” metode de clasă:



import java.math.* ;

Abordarea 1: comparați două zecimale mari în Java folosind metoda „compareTo()”

compara cu() „Metoda compară cele două” Decimale mari ” și returnează rezultatul pe baza următorilor parametri:





Rezultatul returnat Comparație calculată
1 Dacă primul BigDecimal este mai mare decât cel din urmă BigDecimal.
0 În cazul în care primul BigDecimal este egal cu cel din urmă BigDecimal.
-1 Când primul BigDecimal este mai mic decât cel din urmă BigDecimal.

Această metodă poate fi aplicată pentru a compara cele două create „ BigDecimal ” și returnează rezultatul corespunzător prin intermediul „ dacă/altfel ' afirmație.

Sintaxă



public int compara cu ( Obiect obj )

Conform acestei sintaxe, „ Obiect obj ” corespunde obiectului care trebuie comparat.

Exemplu

Exemplul de mai jos explică conceptul discutat:

public clasă compararebigdecimal {
public static gol principal ( Şir argumente [ ] ) {
BigDecimal val1, val2 ;
alegere1 = nou BigDecimal ( '26326.04' ) ;
val2 = nou BigDecimal ( '22145.20' ) ;
dacă ( alegere1. compara cu ( val2 ) == 0 ) {
Sistem . afară . println ( alegere1 + ' și ' + val2 + ' sunt egale' ) ;
}
altfel dacă ( alegere1. compara cu ( val2 ) == - 1 ) {
Sistem . afară . println ( alegere1 + ' e mai puțin decât ' + val2 ) ;
}
altfel {
Sistem . afară . println ( alegere1. compara cu ( val2 ) ) ;
Sistem . afară . println ( alegere1 + ' este mai mare decât ' + val2 ) ;
}

Conform liniilor de cod de mai sus, aplicați următorii pași:

  • În primul rând, creați două „ Decimale mari ” având valorile declarate.
  • Acum, asociați „ compara cu() ” cu atât valorile atribuite, cât și cu condiția satisfăcută în „ dacă ” declarație, înregistrați mesajul corespunzător.
  • Notă: Condițiile sunt specificate pe baza rezultatului returnat al metodei pentru ca metoda să funcționeze corect.
  • La fel, „ altfel dacă ” instrucțiunea specifică cealaltă condiție luând în considerare tipul de returnare a metodei, adică “ -1 ”.
  • În cele din urmă, faceți „ altfel ” declarația intră în vigoare în ambele condiții nesatisfăcute de mai sus.

Ieșire

În rezultatul de mai sus, a returnat „ 1 ” indică faptul că „ altfel ” este invocată declarația.

Abordarea 2: comparați două zecimale mari în Java folosind metoda „equals()”

este egal() „metoda Java” BigDecimal ” este utilizată pentru a compara BigDecimals pentru egalitate bazată pe valoare și scară. Această metodă poate fi implementată pentru a aplica o verificare asupra BigDecimals care au o variație în scara lor.

Sintaxă

public boolean egală ( Obiect X )

În această sintaxă, „ Obiectul x ” corespunde obiectului cu care trebuie comparat acest BigDecimal.

Exemplu

Să trecem în revistă următorul exemplu:

public clasă comparebigdecimal2 {
public static gol principal ( Şir argumente [ ] ) {
BigDecimal val1, val2 ;
alegere1 = nou BigDecimal ( „205.0” ) ;
val2 = nou BigDecimal ( '205.00' ) ;
dacă ( alegere1. egală ( val2 ) ) {
Sistem . afară . println ( alegere1 + ' și ' + val2 + ' sunt egale' ) ;
}
altfel {
Sistem . afară . println ( alegere1 + ' și ' + val2 + 'nu sunt egali' ) ;
}
} }

Conform codului de mai sus:

  • De asemenea, creați două BigDecimals având variații în scara lor.
  • Notă: 0 ” nu este egal cu ” 2.00 ” în comparație cu această metodă.
  • După aceea, aplicați „ este egal() ” pentru a compara BigDecimals create și pentru a returna rezultatul corespunzător prin intermediul „ dacă/altfel ' afirmație.

Ieșire

În acest rezultat, se poate observa că atât „ Decimale mari ” nu sunt egale din cauza variației de scară.

Cu toate acestea, următorul rezultat duce la egalitatea „BigDecimals”:

Așa poți compara două” Decimale mari ” în Java.

Concluzie

A ' BigDecimal ” în Java cuprinde o scară întreagă de 32 de biți. Cele două BigDecimals din Java pot fi comparate prin aplicarea „ compara cu() ', sau ' este egal() ” metode. Prima abordare returnează rezultatul pe baza comparației calculate. Această din urmă abordare analizează valorile BigDecimal pe baza scalelor specificate. Acest blog este ghidat pentru a compara cele două „BigDecimals” în Java.