Jak porovnat dvě velká desetinná čísla v Javě

Jak Porovnat Dve Velka Desetinna Cisla V Jave



' BigDecimal Třída ” v Javě poskytuje aritmetiku, správu škálování, zaokrouhlování, porovnávací funkce atd. Kromě toho umožňuje programátorům poradit si s velkými a malými celými čísly s plovoucí desetinnou čárkou s výjimečnou přesností. To pomáhá dosáhnout větší přesnosti oproti pevnému počtu desetinných míst.

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ě.