Tento článok sa bude zaoberať prístupmi na porovnanie dvoch „BigDecimal“ v Jave.
Čo je „BigDecimal“ v jazyku Java?
A “ BigDecimal ” v Jave obsahuje 32-bitovú celočíselnú škálu a používa sa na spracovanie veľmi veľkých a veľmi malých čísel s pohyblivou rádovou čiarkou. ' stupnica ” predstavuje počet číslic napravo od desatinnej čiarky.
Ako porovnať dve veľké desatinné čísla v Jave?
Ak chcete porovnať dve veľké desatinné čísla v jazyku Java, použite nasledujúce prístupy:
Predtým, ako sa vydáte na prístupy, nezabudnite zahrnúť nižšie uvedený balík na prístup k „ matematika “metódy triedy:
importovať java.math.* ;
Prístup 1: Porovnajte dve veľké desatinné čísla v jazyku Java pomocou metódy „compareTo()“.
' porovnať s() “metóda porovnáva tieto dve “ BigDecimals “ a vráti výsledok na základe nasledujúcich parametrov:
Vrátený výsledok | Vypočítané porovnanie |
---|---|
1 | Ak je prvé veľké desiatkové číslo väčšie ako druhé veľké desiatkové číslo. |
0 | V prípade, že prvé veľké desiatkové číslo sa rovná druhému veľké desiatkové číslo. |
-1 | Keď je prvá veľká desiatka menšia ako druhá veľká desiatka. |
Túto metódu možno použiť na porovnanie dvoch vytvorených „ BigDecimal hodnoty a vráti zodpovedajúci výsledok prostredníctvom tlačidla „ ak/inak “vyhlásenie.
Syntax
verejnosti int porovnať s ( Objekt obj )
Podľa tejto syntaxe „ Objekt obj “ zodpovedá objektu, ktorý je potrebné porovnať.
Príklad
Nižšie uvedený príklad vysvetľuje diskutovaný koncept:
verejnosti trieda porovnať veľké desatinné číslo {verejnosti statické neplatné Hlavná ( Reťazec args [ ] ) {
BigDecimal val1, val2 ;
voľba1 = Nový BigDecimal ( '26326,04' ) ;
val2 = Nový BigDecimal ( '22145,20' ) ;
ak ( voľba1. porovnať s ( val2 ) == 0 ) {
Systém . von . println ( voľba1 + ' a ' + val2 + 'sú si rovní' ) ;
}
inak ak ( voľba1. porovnať s ( val2 ) == - 1 ) {
Systém . von . println ( voľba1 + ' je menej než ' + val2 ) ;
}
inak {
Systém . von . println ( voľba1. porovnať s ( val2 ) ) ;
Systém . von . println ( voľba1 + ' je väčší ako ' + val2 ) ;
}
Podľa vyššie uvedených riadkov kódu použite nasledujúce kroky:
- Najprv vytvorte dve „ BigDecimals “ s uvedenými hodnotami.
- Teraz spojte „ porovnať s() ” metóda s oboma priradenými hodnotami a pri splnenej podmienke v “ ak “, zapíšte príslušnú správu.
- Poznámka: Podmienky sú špecifikované na základe vráteného výsledku metódy, aby metóda fungovala správne.
- Rovnako tak „ ináč Ak 'príkaz špecifikuje inú podmienku vzhľadom na typ návratu metódy, t.j. ' -1 “.
- Nakoniec urobte „ inak “ nadobudne účinnosť za oboch vyššie uvedených nesplnených podmienok.
Výkon
Vo vyššie uvedenom výsledku sa vrátil „ 1 “ znamená, že „ inak “.
Prístup 2: Porovnajte dve veľké desatinné čísla v jazyku Java pomocou metódy „equals()“.
' rovná sa() “metóda Java” BigDecimal ” sa používa na porovnanie veľkých desatinných miest pre rovnosť na základe hodnoty a rozsahu. Táto metóda môže byť implementovaná na aplikovanie kontroly na BigDecimals, ktoré majú variáciu v ich mierke.
Syntax
verejnosti boolovská hodnota rovná sa ( Objekt X )V tejto syntaxi „ Objekt x ” zodpovedá objektu, s ktorým je potrebné tento BigDecimal porovnať.
Príklad
Pozrime sa na nasledujúci príklad:
verejnosti trieda porovnaťbigdecimal2 {verejnosti statické neplatné Hlavná ( Reťazec args [ ] ) {
BigDecimal val1, val2 ;
voľba1 = Nový BigDecimal ( '205,0' ) ;
val2 = Nový BigDecimal ( '205,00' ) ;
ak ( voľba1. rovná sa ( val2 ) ) {
Systém . von . println ( voľba1 + ' a ' + val2 + 'sú si rovní' ) ;
}
inak {
Systém . von . println ( voľba1 + ' a ' + val2 + 'nie sú si rovní' ) ;
}
} }
Podľa vyššie uvedeného kódu:
- Podobne vytvorte dve veľké desatinné čísla s variáciou v mierke.
- Poznámka: “ 0 “ sa nerovná “ 2.00 “ v porovnaní s touto metódou.
- Potom použite „ rovná sa() ” metóda na porovnanie vytvorených BigDecimal a vrátenie zodpovedajúceho výsledku cez “ ak/inak “vyhlásenie.
Výkon
V tomto výsledku možno pozorovať, že obe „ BigDecimals ” nie sú rovnaké kvôli variácii v mierke.
Nasledujúci výsledok však vedie k tomu, že „BigDecimals“ sú rovnaké:
Takto môžete porovnať dve „ BigDecimals “ v jazyku Java.
Záver
A “ BigDecimal ” v Jave obsahuje 32-bitovú celočíselnú škálu. Dve BigDecimal v Jave možno porovnať použitím „ porovnať s() ', alebo ' rovná sa() “ metódy. Prvý prístup vráti výstup na základe vypočítaného porovnania. Druhý prístup analyzuje hodnoty BigDecimal na základe špecifikovaných mierok. Tento blog je zameraný na porovnanie dvoch „BigDecimal“ v jazyku Java.