Hogyan hasonlítsunk össze két BigDecimális értéket a Java-ban

Hogyan Hasonlitsunk Ossze Ket Bigdecimalis Erteket A Java Ban



A ' BigDecimal ” osztály a Java-ban aritmetikai, léptékkezelési, kerekítési, összehasonlítási funkciókat stb. biztosít. Ezen kívül lehetővé teszi a programozóknak, hogy kivételes pontossággal kezeljék a nagy és kis lebegőpontos egész számokat. Ez segít nagyobb pontosságot elérni a rögzített számú tizedesjegynél.

Ez a cikk a Java két „BigDecimal” összehasonlításának módszereit mutatja be.

Mi a „BigDecimal” a Java nyelven?

egy ' BigDecimal ” Java-ban egy 32 bites egész skálát tartalmaz, és nagyon nagy és nagyon kicsi lebegőpontos számok kezelésére használják. A ' skála ” a tizedesvesszőtől jobbra lévő számjegyek számát jelöli.







Hogyan hasonlítsunk össze két BigDecimális értéket a Java-ban?

Két BigDecimal összehasonlításához Javaban használja a következő megközelítéseket:



Mielőtt elkezdené a megközelítéseket, győződjön meg róla, hogy mellékelte az alábbi csomagot a „ matematika ” osztály metódusai:



import java.math.* ;

1. megközelítés: Hasonlítson össze két BigDecimális értéket a Java nyelvben a „compareTo()” módszerrel

A ' összehasonlítani() 'módszer összehasonlítja a kettőt' BigDecimals ” és a következő paraméterek alapján adja vissza az eredményt:





Visszatért Eredmény Számított összehasonlítás
1 Ha az előbbi BigDecimal nagyobb, mint az utóbbi BigDecimal.
0 Abban az esetben, ha az előbbi BigDecimal egyenlő az utóbbi BigDecimal-lel.
-1 Amikor az előbbi BigDecimal kisebb, mint az utóbbi BigDecimal.

Ezzel a módszerrel összehasonlítható a két létrehozott „ BigDecimal ” értékeket, és visszaadja a megfelelő eredményt a „ ha más ' nyilatkozat.

Szintaxis



nyilvános int összehasonlítani ( Tárgy obj )

E szintaxis szerint ' Objektum obj ” az összehasonlítandó objektumnak felel meg.

Példa

Az alábbi példa elmagyarázza a tárgyalt koncepciót:

nyilvános osztály nagytizedes összehasonlítás {
nyilvános statikus üres fő- ( Húr args [ ] ) {
BigDecimal érték1, érték2 ;
választás 1 = új BigDecimal ( '26326.04' ) ;
val2 = új BigDecimal ( '22145.20' ) ;
ha ( választás 1. összehasonlítani ( val2 ) == 0 ) {
Rendszer . ki . println ( választás 1 + 'és' + val2 + ' egyenlőek' ) ;
}
más ha ( választás 1. összehasonlítani ( val2 ) == - 1 ) {
Rendszer . ki . println ( választás 1 + ' kevesebb mint ' + val2 ) ;
}
más {
Rendszer . ki . println ( választás 1. összehasonlítani ( val2 ) ) ;
Rendszer . ki . println ( választás 1 + ' nagyobb, mint ' + val2 ) ;
}

A fenti kódsoroknak megfelelően hajtsa végre a következő lépéseket:

  • Először is hozzon létre két ' BigDecimals ” a megadott értékekkel.
  • Most társítsa a „ összehasonlítani() ” módszert a hozzárendelt értékekkel, és a „ ha ” utasítással naplózza a megfelelő üzenetet.
  • Jegyzet: A feltételeket a módszer visszaadott eredménye alapján határozzák meg, hogy a módszer megfelelően működjön.
  • Hasonlóképpen a „ különben ha ” utasítás a másik feltételt határozza meg, figyelembe véve a metódus visszatérési típusát, azaz: „ -1 ”.
  • Végül készítse el a „ más ” nyilatkozat mindkét fenti nem kielégítő feltétel esetén lép hatályba.

Kimenet

A fenti eredményben a visszaadott ' 1 ' azt jelzi, hogy a ' más ” utasítást hívják meg.

2. megközelítés: Hasonlítson össze két nagytizedes számot a Java nyelvben az „egyenlő()” módszerrel

A ' egyenlő () 'A Java metódusa' BigDecimal ” osztályt használják a BigDecimals összehasonlítására az érték és a skála alapján. Ezt a módszert úgy lehet végrehajtani, hogy ellenőrizni tudja a nagy tizedesjegyeket, amelyek skálája eltérő.

Szintaxis

nyilvános logikai érték egyenlő ( Tárgy x )

Ebben a szintaxisban a „ Objektum x ” megfelel annak az objektumnak, amellyel ezt a BigDecimal-t össze kell hasonlítani.

Példa

Tekintsük át a következő példát:

nyilvános osztály összehasonlítás nagytizedes2 {
nyilvános statikus üres fő- ( Húr args [ ] ) {
BigDecimal érték1, érték2 ;
választás 1 = új BigDecimal ( '205.0' ) ;
val2 = új BigDecimal ( '205.00' ) ;
ha ( választás 1. egyenlő ( val2 ) ) {
Rendszer . ki . println ( választás 1 + 'és' + val2 + ' egyenlőek' ) ;
}
más {
Rendszer . ki . println ( választás 1 + 'és' + val2 + 'nem egyenlők' ) ;
}
} }

A fenti kód szerint:

  • Hasonlóképpen, hozzon létre két nagytizedes számjegyet, amelyek léptéke eltérő.
  • Jegyzet: ' 0 'nem egyenlő' 2.00 ” ehhez a módszerhez képest.
  • Ezt követően alkalmazza a „ egyenlő () ” módszerrel összehasonlíthatja a létrehozott BigDecimaleket, és visszaadhatja a megfelelő eredményt a „ ha más ' nyilatkozat.

Kimenet

Ebben az eredményben megfigyelhető, hogy mind a „ BigDecimals ” nem egyenlőek a léptékbeli eltérések miatt.

A következő eredmény azonban azt eredményezi, hogy a „BigDecimals” egyenlővé válik:

Így lehet összehasonlítani a kettőt' BigDecimals ” Java nyelven.

Következtetés

egy ' BigDecimal ” a Java nyelvben egy 32 bites egész skálát tartalmaz. A Java két BigDecimális értéke összehasonlítható a „ összehasonlítani() ', vagy a ' egyenlő () ” módszerekkel. Az előbbi megközelítés a számított összehasonlítás alapján adja vissza a kimenetet. Ez utóbbi megközelítés a BigDecimal értékeket elemzi a megadott skálák alapján. Ez a blog a Java két „BigDecimális” számjegyének összehasonlítására szolgál.