So vergleichen Sie zwei BigDecimals in Java

So Vergleichen Sie Zwei Bigdecimals In Java



Der ' BigDecimal ”-Klasse in Java bietet Arithmetik, Skalenverwaltung, Rundung, Vergleichsfunktionen usw. Darüber hinaus ermöglicht sie Programmierern, mit großen und kleinen Gleitkomma-Ganzzahlen mit außergewöhnlicher Präzision umzugehen. Dies trägt dazu bei, eine höhere Genauigkeit über die feste Anzahl von Dezimalstellen zu erreichen.

In diesem Artikel werden die Ansätze zum Vergleichen zweier „BigDecimals“ in Java näher erläutert.

Was ist „BigDecimal“ in Java?

A ' BigDecimal ” in Java umfasst eine 32-Bit-Ganzzahlskala und wird verwendet, um sehr große und sehr kleine Gleitkommazahlen zu verarbeiten. Der ' Skala ” steht für die Anzahl der Ziffern rechts vom Dezimalpunkt.







Wie vergleicht man zwei BigDecimals in Java?

Wenden Sie die folgenden Ansätze an, um zwei BigDecimals in Java zu vergleichen:



Bevor Sie zu den Ansätzen gehen, stellen Sie sicher, dass Sie das unten bereitgestellte Paket enthalten, um auf die „ Mathematik ” Klassenmethoden:



importieren java.math.* ;

Ansatz 1: Vergleichen Sie zwei BigDecimals in Java mit der „compareTo()“-Methode

Der ' vergleichen mit() ” Methode vergleicht die beiden “ Große Dezimalstellen “ und gibt das Ergebnis basierend auf den folgenden Parametern zurück:





Zurückgegebenes Ergebnis Berechneter Vergleich
1 Wenn ersteres BigDecimal größer ist als letzteres BigDecimal.
0 Für den Fall, dass ersteres BigDecimal gleich letzterem BigDecimal ist.
-1 Wenn ersteres BigDecimal kleiner ist als letzteres BigDecimal.

Diese Methode kann angewendet werden, um die beiden erstellten „ BigDecimal ” Werte und geben Sie das entsprechende Ergebnis über die “ ansonsten ' Stellungnahme.

Syntax



öffentlich int vergleichen mit ( Objekt obj )

Gemäß dieser Syntax „ Objekt obj “ entspricht dem zu vergleichenden Objekt.

Beispiel

Das unten aufgeführte Beispiel erläutert das diskutierte Konzept:

öffentlich Klasse bigdecimal vergleichen {
öffentlich statisch Leere hauptsächlich ( Schnur Argumente [ ] ) {
BigDecimal val1, val2 ;
Wahl1 = neu BigDecimal ( '26326.04' ) ;
Wert2 = neu BigDecimal ( '22145.20' ) ;
Wenn ( Wahl1. vergleichen mit ( Wert2 ) == 0 ) {
System . aus . println ( Wahl1 + ' Und ' + Wert2 + ' sind gleich' ) ;
}
anders Wenn ( Wahl1. vergleichen mit ( Wert2 ) == - 1 ) {
System . aus . println ( Wahl1 + ' ist weniger als ' + Wert2 ) ;
}
anders {
System . aus . println ( Wahl1. vergleichen mit ( Wert2 ) ) ;
System . aus . println ( Wahl1 + ' ist größer als ' + Wert2 ) ;
}

Wenden Sie gemäß den obigen Codezeilen die folgenden Schritte an:

  • Erstellen Sie zunächst zwei „ Große Dezimalstellen ” mit den angegebenen Werten.
  • Verknüpfen Sie nun das „ vergleichen mit() ”-Methode sowohl mit den zugewiesenen Werten als auch bei erfüllter Bedingung in der „ Wenn ”-Anweisung, protokollieren Sie die entsprechende Nachricht.
  • Notiz: Die Bedingungen werden basierend auf dem zurückgegebenen Ergebnis der Methode angegeben, damit die Methode ordnungsgemäß funktioniert.
  • Ebenso die „ sonst wenn ”-Anweisung spezifiziert die andere Bedingung unter Berücksichtigung des Rückgabetyps der Methode, d. h. „ -1 “.
  • Machen Sie abschließend das „ anders ”-Erklärung treten unter den beiden oben nicht erfüllten Bedingungen in Kraft.

Ausgang

Im obigen Ergebnis wird das zurückgegebene „ 1 “ weist darauf hin, dass die „ anders “-Anweisung wird aufgerufen.

Ansatz 2: Vergleichen Sie zwei BigDecimals in Java mit der „equals()“-Methode

Der ' gleich () „Methode der Java“ BigDecimal ”-Klasse wird verwendet, um die BigDecimals auf Gleichheit basierend auf Wert und Skalierung zu vergleichen. Diese Methode kann implementiert werden, um zu überprüfen, ob die BigDecimals eine Variation in ihrer Skalierung aufweisen.

Syntax

öffentlich boolesch gleich ( Objekt X )

In dieser Syntax „ Objekt x ” entspricht dem Objekt, mit dem dieses BigDecimal verglichen werden muss.

Beispiel

Sehen wir uns das folgende Beispiel an:

öffentlich Klasse vergleichebigdecimal2 {
öffentlich statisch Leere hauptsächlich ( Schnur Argumente [ ] ) {
BigDecimal val1, val2 ;
Wahl1 = neu BigDecimal ( '205.0' ) ;
Wert2 = neu BigDecimal ( '205,00' ) ;
Wenn ( Wahl1. gleich ( Wert2 ) ) {
System . aus . println ( Wahl1 + ' Und ' + Wert2 + ' sind gleich' ) ;
}
anders {
System . aus . println ( Wahl1 + ' Und ' + Wert2 + „sind nicht gleich“ ) ;
}
} }

Nach obigem Code:

  • Erstellen Sie auf ähnliche Weise zwei BigDecimals mit unterschiedlicher Skalierung.
  • Notiz: 0 ' ist ungleich zu ' 2.00 “ im Vergleich zu dieser Methode.
  • Wenden Sie danach das „ gleich () “-Methode, um die erstellten BigDecimals zu vergleichen und das entsprechende Ergebnis über die „ ansonsten ' Stellungnahme.

Ausgang

Bei diesem Ergebnis kann beobachtet werden, dass sowohl die „ Große Dezimalstellen ” sind aufgrund unterschiedlicher Skalen nicht gleich.

Das folgende Ergebnis führt jedoch dazu, dass die „BigDecimals“ gleich gemacht werden:

So kann man zwei vergleichen“ Große Dezimalstellen “ auf Java.

Abschluss

A ' BigDecimal ” in Java umfasst eine 32-Bit-Ganzzahlskala. Die beiden BigDecimals in Java können durch Anwenden des „ vergleichen mit() ', oder der ' gleich () “Methoden. Der erstere Ansatz gibt die Ausgabe basierend auf dem berechneten Vergleich zurück. Der letztere Ansatz analysiert die BigDecimal-Werte basierend auf den angegebenen Skalen. Dieser Blog dient dazu, die beiden „BigDecimals“ in Java zu vergleichen.