Java Bigdecimal

Java Bigdecimal
Die Verwendung von Floating-Punkt-Datenformaten in Finanzberechnungen ist aufgrund ihrer Ungenauigkeit eingeschränkt. Deshalb hat Java eine spezielle Klasse namens BigDecimal, um diese Probleme zu reduzieren. Das BigDecimal besteht aus 32-Bit. Die BigDecimal -Klasse bietet Methoden für Manipulation, Formatkonvertierung, Hashing, Rundung, Vergleich und Arithmetik. Einige Klassenmethoden von BigDecimal sind unten implementiert.

Beispiel 1:

BigDecimal repräsentiert die Anzahl der fast unendlichen Größe. Der BigDecimal hält die größeren schwebenden Werte, während der Biginteger die großen Zahlwerte nimmt. Das Programm wird unten implementiert, um die Funktionalität des BigDecimal in Java zu zeigen.

Wir haben zuerst die Pakete „BigDecimal“ und „BigInenger“ in das Java -Programm aufgenommen. Dann erklärten wir das Objekt von Biginteger als „Val1“ und das BigDecimal -Objekt als „Val2“. Wir haben dem Objekt "Val1" der BigInenger () -Klasse () und dem schwimmenden Punktwert dem Objekt "Val2" der BigDecimal () -Klasse den langen Ganzzahlwert zugewiesen. Danach haben wir beide Werte gedruckt, um die Ergebnisse zu erzielen.

Die Ergebnisse der Werte Biginteger und BigDecimal werden wie folgt ausgeführt:

Beispiel 2:

BigDecimal ermöglicht nur beliebige Zahlen von Festnetzzahlen. Lassen Sie uns ein Java -Programm haben, bei dem die arithmetischen Operationen an zwei signifikanten großen Dezimalzahlen durchgeführt werden.

Wir haben zwei BigDecimal -Objekte definiert, die mit der Bezeichnung "Num1" und "Num2" gekennzeichnet sind. Diese BigDecimal -Objekte werden mit großen Dezimalwerten initialisiert. Anschließend haben wir den Additions-, Subtraktions- und Multiplikationsvorgang dieser Objekte mithilfe der Methoden Add (add (), subtract () und multiply () angewendet. Beachten Sie, dass das erste Objekt "Num1" von BigDecimal die Methode und das zweite Objekt "Num2" als Argument dieser Methode übergeben wurde.

Die folgenden Ergebnisse werden durch Anwenden der oben genannten Methoden auf die BigDecimal -Werte erzielt.

Beispiel 3:

Der Vergleichsvorgang kann nicht an BigDecimal -Werten unter Verwendung der Vergleichsbetreiber durchgeführt werden. AS, BigDecimal ist auf INT-, Long- und Doppel -Datentypen beschränkt. Java hat eine integrierte Vergleiche () -Methode zum Vergleich von BigDecimal-Werten.

Wir haben eine BigDecimal -Objekt „Big1“ und „Big2“ -DEklaration innerhalb der Main () -Methode der angegebenen Java -Klasse. Nachdem wir die Objekte deklariert haben, setzen wir die Dezimalwerte darin. Dann haben wir den verschachtelten "If-ELSE" -Block zum Vergleich des BigDecimal-Objekts mithilfe der Vergleiche () -Methode verwendet. Wenn beide das BigDecimal -Objekt gleich sind, wird die Null zurückgegeben und die Druckanweisung des Abschnitts „If“ wird ausgeführt. Andernfalls gibt die Vergleiche () -Methode den Wert „1“ zurück, wenn der BigDecimal unterschiedliche Werte enthält. Wir haben die Rückgabeergebnisse der Vergleiche () -Methode für die Dezimalwerte in der BigDecimal () -Klasse über eine verschachtelte IF-ELSE-Anweisung überprüft.

Der Vergleiche () -Methodenwert entspricht dem Wert „1“, der zeigt, dass die in der BigDecimal () -Klass übergebenen Schwimmernummern nicht gleich sind. Die Druckmeldung „else-wenn“ wird unten angezeigt.

Beispiel 4:

Java hat ein weiteres eingebaues ByteValueExact BigDecimal für die Umwandlung des Bigdecimal in ein Byte, während Sie nach verlorenen Daten suchen. Diese Methode wirft ein Arithmeticexception aus, wenn das BigDecimal einen bruchteiligen Teil hat, der nicht Null ist oder wenn das Ergebnis über den Bereich liegt, der von einem Byte gespeichert werden kann.

Wir haben die Methode ByteValueExact () im obigen Programm verwendet. Dafür haben wir die variable „BigDec“ von BigDecimal deklariert. Dann haben wir eine variable "b" vom Typ Byte definiert. Wir haben den Wert innerhalb der BigDecimal () -Klasse festgelegt, die innerhalb der BigDec -Variablen initialisiert wird. Als Nächst. Der von dieser Methode zurückgegebene Bytewert wird mit Hilfe der Java -Druckmethode gedruckt.

Der Byte -Wert aus der Methode ByteValueExact () entspricht dem Eingabe -BigDecimal -Wert, da die Zahl keinen Dezimalpunkt enthält.

Beispiel 5:

Die maximalen und minimalen Werte aus den angegebenen BigDecimal -Werten können mit den Methoden max () und min () erreicht werden, da diese Methoden mit der BigDecimal -Klasse kompatibel sind.

Wir haben drei BigDecimal -Objekte als "B1", "B2" und "B3" generiert, um den Mindestwert und die maximalen Werte von diesen zu erhalten. Zusammen mit den Erklärungen dieser Objekte haben wir auch zwei weitere Objekte „Maxval1“ und „Maxval2“ erstellt, die „Maxval1“ und „Maxval2“ erstellt wurden, wir haben auch zwei weitere Objekte erstellt. Zuerst haben wir die BigDecimal -Zahlen an jedes der Objekte übergeben. Innerhalb der "maxval1" wird das Objekt "B1" als max () -Methode bezeichnet, die das "B2" -Objekt als Parameter nimmt. Auf die gleiche Weise haben wir die "maxValue2" festgelegt, aber die Methode "min ()" bereitgestellt, um die Mindestwerte zwischen "B1" und "B3" zu finden. Die max () -Methode zeigte den größten BigDecimal -Wert und die min () -Methode zeigte den kleinsten BigDecimal -Wert.

Der BigDecimal -Wert von „B2“ enthält den Maximalwert im Vergleich zum „B1“, den die max () Methode unten ausgibt. Gleiches gilt für die min () -Methode, bei der der BigDecimal -Wert „B3“ angezeigt wird, da sie einen Mindestwert von „B1“ aufweist.

Beispiel 6:

Die POW () -Methode von BigDecimal wird verwendet, um den Leistungswert des bereitgestellten BigDecimal -Werts zu erhalten. Ein Bigdecimal mit dem Wert (dies N) wird aus der POW () -Methode zurückgegeben.

Wir haben die BigDecimal -Objekte "BD1" und "BD2" angegeben. Im Objekt "BD1" haben wir den Wert des Bigdecimal zugewiesen, der den Dezimalpunkt enthält. Dann haben wir die POW () -Methode auf das Objekt "BD1" innerhalb des Objekts "BD2" angewendet. Die POW () -Methode wird mit dem Wert "3" festgelegt, der die Leistung von "3" für den BigDecimal -Wert zurückgibt.

Der BigDecimal -Wert, der für die Leistung „3“ erhöht wird, hat den folgenden Wert:

Beispiel 7:

Die letzte nachstehend implementierte BigDecimal -Methode heißt Scale (). Es wird verwendet, um den Skalierungswert des bereitgestellten BigDecimal zu erhalten. Die Skala eines Null- oder positiven Wertes wird durch die Anzahl der Ziffern bestimmt, die rechts vom Dezimalpunkt platziert sind. Wenn ein Wert negat.

Wir haben dem Bigdecimal einen positiven Float -Wert gegeben, der in der Variablen „deci1“ initialisiert wird. Auf der anderen Seite haben wir den negativen Float -Wert des Bigdecimal im "Deci2" -Fjekt festgelegt. Dann haben wir die Methode "scal ()" für das Deci1 und das Deci2.

Der Dezimalwert auf der rechten Seite des positiven BigDecimal ist „1“, sodass die Skala auch „1“ ist. Die Skala des negativen Bigdecimal ist „3“.

Abschluss

Java Bigdecimal ist eine Methode, um die Zahl genau darzustellen. Die wenigen mit dem BigDecimal verbundenen Methoden werden in diesem Dokument untersucht. BigDecimal würde verhindern, dass die unterschiedliche Skala des Doppelwerts beim Umgang mit dem kleineren Doppel aufgrund der Skalenschwankung aus der Summe entfernt werden kann. Dies ist ein Vorteil der BigDecimal -Klasse, aber der Nachteil von BigDecimal ist, dass es komplizierter macht, Algorithmen zu erstellen.