Tento článek se bude zabývat přístupy k porovnání dvou „BigDecimal“ v Javě.
Co je „BigDecimal“ v Javě?
A ' BigDecimal ” v Javě obsahuje 32bitovou celočíselnou stupnici a používá se ke zpracování velmi velkých a velmi malých čísel s plovoucí desetinnou čárkou. ' měřítko ” představuje počet číslic napravo od desetinné čárky.
Jak porovnat dvě velká desetinná čísla v Javě?
Chcete-li porovnat dvě BigDecimal v Javě, použijte následující přístupy:
Než se vydáte na přístupy, nezapomeňte zahrnout níže uvedený balíček pro přístup k „ matematika metody třídy:
import java.math.* ;
Přístup 1: Porovnejte dvě velká desetinná čísla v Javě pomocí metody „compareTo()“.
' porovnat s() “ metoda porovnává dva “ Velká desítková “ a vrátí výsledek na základě následujících parametrů:
Vrácený výsledek | Vypočítané srovnání |
---|---|
1 | Pokud je první BigDecimal větší než druhé BigDecimal. |
0 | V případě, že se první BigDecimal rovná druhému BigDecimal. |
-1 | Když první BigDecimal je menší než druhé BigDecimal. |
Tuto metodu lze použít k porovnání dvou vytvořených „ BigDecimal hodnoty a vrátí odpovídající výsledek prostřednictvím „ pokud/jinak ' prohlášení.
Syntax
veřejnost int porovnat s ( Objekt obj )
Podle této syntaxe „ Objekt obj “ odpovídá objektu, který je třeba porovnat.
Příklad
Níže uvedený příklad vysvětluje diskutovaný koncept:
veřejnost třída porovnatbigdesetinné {veřejnost statický prázdnota hlavní ( Tětiva argumenty [ ] ) {
BigDecimal val1, val2 ;
volba1 = Nový BigDecimal ( '26326,04' ) ;
val2 = Nový BigDecimal ( '22145,20' ) ;
-li ( volba1. porovnat s ( val2 ) == 0 ) {
Systém . ven . println ( volba1 + ' a ' + val2 + ' jsou rovny' ) ;
}
jiný -li ( volba1. porovnat s ( val2 ) == - 1 ) {
Systém . ven . println ( volba1 + ' je méně než ' + val2 ) ;
}
jiný {
Systém . ven . println ( volba1. porovnat s ( val2 ) ) ;
Systém . ven . println ( volba1 + ' je větší než ' + val2 ) ;
}
Podle výše uvedených řádků kódu použijte následující kroky:
- Nejprve vytvořte dva „ Velká desítková “ s uvedenými hodnotami.
- Nyní spojte „ porovnat s() ” metoda s oběma přiřazenými hodnotami a při splněné podmínce v “ -li “, zaznamenejte odpovídající zprávu.
- Poznámka: Podmínky jsou specifikovány na základě vráceného výsledku metody, aby metoda fungovala správně.
- Stejně tak „ jinak kdyby “příkaz specifikuje další podmínku s ohledem na návratový typ metody, tj. -1 “.
- Nakonec vytvořte „ jiný ” nabývá účinnosti za obou výše uvedených nesplněných podmínek.
Výstup
Ve výše uvedeném výsledku se vrátil „ 1 “ znamená, že „ jiný “ je vyvolán příkaz.
Přístup 2: Porovnání dvou velkých desetinných čísel v Javě pomocí metody „equals()“.
' rovná se() “ metoda Java “ BigDecimal ” třída se používá k porovnání BigDecimal pro rovnost na základě hodnoty a měřítka. Tato metoda může být implementována pro aplikaci kontroly na BigDecimals, která mají variaci ve svém měřítku.
Syntax
veřejnost booleovský rovná se ( Objekt X )V této syntaxi „ Objekt x ” odpovídá objektu, se kterým je potřeba tento BigDecimal porovnat.
Příklad
Pojďme si představit následující příklad:
veřejnost třída porovnatbigdesetinna2 {veřejnost statický prázdnota hlavní ( Tětiva argumenty [ ] ) {
BigDecimal val1, val2 ;
volba1 = Nový BigDecimal ( '205,0' ) ;
val2 = Nový BigDecimal ( '205,00' ) ;
-li ( volba1. rovná se ( val2 ) ) {
Systém . ven . println ( volba1 + ' a ' + val2 + ' jsou rovny' ) ;
}
jiný {
Systém . ven . println ( volba1 + ' a ' + val2 + 'nejsou si rovni' ) ;
}
} }
Podle výše uvedeného kódu:
- Podobně vytvořte dvě velká desetinná čísla s variací v měřítku.
- Poznámka: “ 0 “ se nerovná “ 2,00 “ ve srovnání s touto metodou.
- Poté použijte „ rovná se() ” metoda pro porovnání vytvořených BigDecimal a vrácení odpovídajícího výsledku pomocí “ pokud/jinak ' prohlášení.
Výstup
V tomto výsledku lze pozorovat, že oba „ Velká desítková “ nejsou stejné kvůli rozdílům v měřítku.
Následující výsledek však vede k tomu, že „BigDecimals“ jsou stejné:
Takto můžete porovnat dva“ Velká desítková “ v Javě.
Závěr
A ' BigDecimal ” v Javě obsahuje 32bitové celočíselné měřítko. Dvě BigDecimal v Javě lze porovnat použitím „ porovnat s() ', nebo ' rovná se() “ metody. První přístup vrací výstup na základě vypočítaného srovnání. Druhý přístup analyzuje hodnoty BigDecimal na základě specifikovaných měřítek. Tento blog je veden k porovnání dvou „BigDecimal“ v Javě.