Jak porównać dwa bigDecimals w Javie

Jak porównać dwa bigDecimals w Javie
„„Bigdecimal”Klasa w Javie zapewnia arytmetykę, zarządzanie skalą, zaokrąglanie, funkcjonalność porównawcza itp. Oprócz tego umożliwia programistom radzenie sobie z dużymi i małymi liczbowymi liczbowymi o zmiennoprzecinkowaniu z wyjątkową precyzją. Pomaga to w osiągnięciu większej precyzji w stosunku do ustalonej liczby dziesiętnych.

Ten artykuł opracuje podejścia do porównania dwóch „bigDecimals” w Javie.

Czym jest „bigdecimal” w Javie?

A "Bigdecimal”W Javie zawiera 32-bitową skalę całkowitą i jest wykorzystywana do obsługi bardzo dużych i bardzo małych liczb zmiennoprzecinkowych. „„skala”Reprezentuje liczbę cyfr po prawej stronie punktu dziesiętnego.

Jak porównać dwa bigDecimals w Javie?

Aby porównać dwa bigDecimals w Javie, zastosuj następujące podejścia:

  • "porównać do()" Metoda.
  • "równa się()" Metoda.

Przed udaniem się do podejść, upewnij się, że dołączono do poniżej opakowanie, aby uzyskać dostęp do „matematyka„Metody klasowe:

Importuj Java.matematyka.*;

Podejście 1: Porównaj dwa bigDecimals w Javie przy użyciu metody „Compareto ()”

„„porównać do()„Metoda porównuje dwa„Bigdecimals”I zwraca wynik na podstawie następujących parametrów:

Zwrócił wynik Obliczone porównanie
1 Jeśli poprzednia bigdecimal jest większa niż druga bigdecimal.
0 W przypadku tego, że poprzedni Bigdecimal jest równy temu drugim bigdecimalowi.
-1 Kiedy poprzednia bigdecimal jest mniejsza niż druga Bigdecimal.

Tę metodę można zastosować do porównania dwóch utworzonych „Bigdecimal”Wartości i zwróć odpowiedni wynik za pośrednictwem„Jeśli inaczej" oświadczenie.

Składnia

public int Compareto (Object OBJ)

Zgodnie z tą składnią „Object OBJ”Odpowiada obiektowi, który należy porównać.

Przykład

Poniższy przykład wyjaśnia omówioną koncepcję:

Klasa publiczna Porównaj się
public static void main (string args [])
Bigdecimal Val1, Val2;
val1 = nowy Bigdecimal (”26326.04 ”);
val2 = nowy Bigdecimal (”22145.20 ");
if (val1.Compareto (val2) == 0)
System.na zewnątrz.println (val1 + ”i„ + val2 + ”są równe”);

W przeciwnym razie if (val1.Compareto (val2) == -1)
System.na zewnątrz.println (val1 + "jest mniej niż" + val2);

w przeciwnym razie
System.na zewnątrz.println (val1.Compareto (Val2));
System.na zewnątrz.println (val1 + „jest większy niż” + val2);

Zgodnie z powyższymi wierszami kodu zastosuj następujące kroki:

  • Po pierwsze, stwórz dwa „Bigdecimals„Posiadanie podanych wartości.
  • Teraz skojarz „porównać do()”Metoda z przypisanymi wartościami, jak i na spełnionych warunkach w„Jeśli”Instrukcja, zaloguj odpowiedni komunikat.
  • Notatka: Warunki są określone na podstawie zwróconego wyniku metody, aby metoda działała poprawnie.
  • Podobnie „„W przeciwnym razie, jeśli”Instrukcja określa drugi warunek, biorąc pod uwagę typ zwrotu metody, i.mi., "-1".
  • Wreszcie, zrób „w przeciwnym razie”Oświadczenie wejdzie w życie zarówno w wyżej wymienionych warunkach.

Wyjście

W powyższym wyniku zwrócił się „1”Wskazuje, że„w przeciwnym razie”Instrukcja jest wywoływana.

Podejście 2: Porównaj dwa bigDecimals w Javie przy użyciu metody „equals ()”

„„równa się()„Metoda Java”Bigdecimal„Klasa jest wykorzystywana do porównania Bigdecimals dla równości opartej na wartości i skali. Tę metodę można wdrożyć, aby zastosować kontrolę BigDecimals o różnice w swojej skali.

Składnia

Public Boolean równa się (obiekt x)

W tej składni „Obiekt x”Odpowiada obiektowi, z którym należy porównać tę bigDecimal.

Przykład

Przeglądmy następujący przykład:

Klasa publiczna PorównajaBigDecimal2
public static void main (string args [])
Bigdecimal Val1, Val2;
val1 = nowy Bigdecimal (”205.0 ”);
val2 = nowy Bigdecimal (”205.00 ");
if (val1.równa się (val2))
System.na zewnątrz.println (val1 + ”i„ + val2 + ”są równe”);

w przeciwnym razie
System.na zewnątrz.println (val1 + ”i„ + val2 + ”nie są równe”);

Zgodnie z powyższym kodem:

  • Podobnie, stwórz dwa bigDecimals o zmienności w swojej skali.
  • Notatka: "0”Nie jest równe„2.00”W porównaniu z tą metodą.
  • Następnie zastosuj „równa się()„Metoda porównywania utworzonych bigDecimals i zwrócenia odpowiedniego wyniku za pośrednictwem„Jeśli inaczej" oświadczenie.

Wyjście

W tym wyniku można zaobserwować, że zarówno „Bigdecimals”Nie są równe z powodu zmienności skali.

Jednak następujący wynik prowadzi do uczynienia „bigDecimals” równych:

W ten sposób możesz porównać dwa „Bigdecimals„W Javie.

Wniosek

A "Bigdecimal”W Javie zawiera 32-bitową skalę całkowitą. Dwa bigDecimals w Javie można porównać poprzez zastosowanie „porównać do()", albo "równa się()”Metody. Pierwsze podejście zwraca dane wyjściowe na podstawie obliczonego porównania. To ostatnie podejście analizuje wartości bigDecimal na podstawie określonych skal. Ten blog jest kierowany do porównania dwóch „bigDecimals” w Javie.