BigDecimal Klasse

Definition

Die BigDecimal Klasse implementiert unveränderliche Dezimalzahlen mit beliebiger Genauigkeit.

[Android.Runtime.Register("android/icu/math/BigDecimal", ApiSince=24, DoNotGenerateAcw=true)]
public class BigDecimal : Java.Lang.Number, IDisposable, Java.Lang.IComparable
[<Android.Runtime.Register("android/icu/math/BigDecimal", ApiSince=24, DoNotGenerateAcw=true)>]
type BigDecimal = class
    inherit Number
    interface ISerializable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface IComparable
Vererbung
Attribute
Implementiert

Hinweise

Die BigDecimal Klasse implementiert unveränderliche Dezimalzahlen mit beliebiger Genauigkeit. Die Methoden der BigDecimal Klasse stellen Vorgänge für Festkomma- und Gleitkommaarithmetik, Vergleich, Formatkonvertierungen und Hashing bereit.

Da die Zahlen dezimal sind, gibt es eine genaue Entsprechung zwischen einer Instanz eines BigDecimal Objekts und seiner String Darstellung. Die BigDecimal Klasse stellt direkte Konvertierungen in und von String Zeichenarrayobjekten (char[]) sowie Konvertierungen in und aus den Java Grundtyptypen (die möglicherweise nicht genau sein können) und BigInteger.

In den Beschreibungen von Konstruktoren und Methoden in dieser Dokumentation wird der Wert eines BigDecimal Zahlenobjekts als Ergebnis des Aufrufens der toString() Methode für das Objekt angezeigt. Die interne Darstellung einer Dezimalzahl ist weder definiert noch verfügbar gemacht und darf das Ergebnis eines Vorgangs nicht beeinflussen.

Die von dieser Klasse bereitgestellte Gleitkommaarithmetik wird durch den ANSI X3.274-1996-Standard definiert und auch unter http://www2.hursley.ibm.com/decimal<br> dokumentiert[Diese URL wird geändert.]<h3>Operator-Methoden</h3>

Vorgänge für BigDecimal Zahlen werden durch ein MathContext Objekt gesteuert, das den Kontext (Genauigkeit und andere Informationen) für den Vorgang bereitstellt. Methoden, die einen MathContext Parameter verwenden können, implementieren die standardmäßigen arithmetischen Operatoren für BigDecimal Objekte und werden als Operatormethoden bezeichnet. Die Standardeinstellungen, die von der Konstante MathContext#DEFAULT (digits=9, form=SCIENTIFIC, lostDigits=false, roundingMode=ROUND_HALF_UP) bereitgestellt werden, führen eine allgemeine Gleitkommaarithmetik auf neun Ziffern der Genauigkeit aus. Der MathContext Parameter darf nicht sein null.

Jede Operatormethode verfügt auch über eine Version, die keinen Parameter verwendet MathContext . Für diese Version jeder Methode werden digits=0, form=PLAIN, lostDigits=false, roundingMode=ROUND_HALF_UPdie verwendeten Kontexteinstellungen verwendet. Diese Einstellungen führen Festkommaarithmetik mit unbegrenzter Genauigkeit aus, wie für die ursprüngliche BigDecimal-Klasse in Java 1.1 und Java 1.2 definiert.

Bei monadischen Operatoren ist nur der optionale MathContext Parameter vorhanden; der Vorgang wirkt auf das aktuelle Objekt.

Bei dyadischen Operatoren ist ein BigDecimal Parameter immer vorhanden; er darf nicht sein null. Der Vorgang fungiert mit dem aktuellen Objekt, dem linken Operanden und dem Parameter, der BigDecimal der rechte Operand ist.

Fügen Sie beispielsweise zwei BigDecimal Objekte hinzu, die von den Namen award bezeichnet werden, und extra können wie folgt geschrieben werden:

award.add(extra) <br>award.add(extra, MathContext.DEFAULT) <br>award.add(extra, acontext)

(dabei acontext handelt es sich um ein MathContext Objekt), das ein BigDecimal Objekt zurückgibt, dessen Wert das Ergebnis des Hinzufügens award und extra unter den entsprechenden Kontexteinstellungen ist.

Wenn eine BigDecimal Operatormethode verwendet wird, definieren eine Reihe von Regeln, was das Ergebnis sein wird (und wie das Ergebnis anhand von Auswirkungen als Zeichenfolge dargestellt wird). Diese Regeln werden in der BigDecimal-arithmetischen Dokumentation definiert (siehe url oben), aber in zusammenfassung: <ul><li>Ergebnisse werden normalerweise mit bis zu einer maximalen Anzahl von signifikanten Ziffern berechnet. Wenn beispielsweise der MathContext Parameter für einen Vorgang MathContext.DEFAULT wäre, würde das Ergebnis auf 9 Ziffern gerundet; die Division von 2 bis 3 würde dann zu 0,66666667 führen. <br> You can change the default of 9 significant digits by providing the method with a suitable MathContext object. Auf diese Weise können Sie beliebig viele Ziffern berechnen – bei Bedarf Tausende. Festkommaarithmetik (skaliert) wird mithilfe einer digits Einstellung von 0 (oder weglassen des MathContext Parameters) angegeben. <Auf> ähnliche Weise können Sie den Algorithmus ändern, der zum Runden vom standardmäßigen "klassischen" Algorithmus verwendet wird. <li> In Standardarithmetik (d. h. wenn die form Einstellung nicht PLAINist), wird immer ein Nullergebnis als einzelne Ziffer '0' ausgedrückt (d. h. ohne Vorzeichen, Dezimalkomma oder Exponententeil). <li> Mit Ausnahme der Division und der Netzbetreiber in Standardarithmetik werden nachfolgende Nullen beibehalten (im Gegensatz zu binären Gleitkommavorgängen und den meisten elektronischen Rechnern, die die Informationen über nachfolgende Nullen im Bruchteil der Ergebnisse verlieren). <br> So zum Beispiel:

new BigDecimal("2.40").add( new BigDecimal("2")) =&gt; "4.40" <br>new BigDecimal("2.40").subtract(new BigDecimal("2")) =&gt; "0.40" <br>new BigDecimal("2.40").multiply(new BigDecimal("2")) =&gt; "4.80" <br>new BigDecimal("2.40").divide( new BigDecimal("2"), def) =&gt; "1.2"

wenn der Wert auf der rechten Seite des =&gt; Vorgangs das Ergebnis des Vorgangs ist, ausgedrückt als ein String, und def (in diesem und folgenden Beispielen) verweist ).MathContext.DEFAULT Diese Erhaltung der nachgestellten Nullen ist für die meisten Berechnungen (einschließlich finanzbezogener Berechnungen) wünschenswert. Bei Bedarf können nachfolgende Nullen mithilfe der Division um 1 leicht entfernt werden. <li> In Standardarithmetik wird exponentielle Form für ein Ergebnis verwendet, abhängig von ihrem Wert und der aktuellen Einstellung von digits (der Standardwert ist 9 Ziffern). Wenn die Anzahl der vor dem Dezimalkomma erforderlichen Stellen die digits Einstellung überschreitet oder der absolute Wert der Zahl kleiner als 0.000001ist, wird die Zahl in exponentielle Notation ausgedrückt;

new BigDecimal("1e+6").multiply(new BigDecimal("1e+6"), def)

ergibt anstelle 1E+12 von 1000000000000, und

new BigDecimal("1").divide(new BigDecimal("3E+10"), def)

ergibt anstelle 3.33333333E-11 von 0.0000000000333333333.

Die Form der exponentiellen Notation (wissenschaftlich oder technisch) wird durch die form Einstellung bestimmt. </ul>

Die Namen der Methoden in dieser Klasse folgen den Konventionen, die von java.lang.Number, java.math.BigIntegerund java.math.BigDecimal in Java 1.1 und Java 1.2 festgelegt wurden.

Java Dokumentation für android.icu.math.BigDecimal.

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Konstruktoren

Name Beschreibung
BigDecimal(BigDecimal)

Erstellt ein BigDecimal Objekt aus einem java.math.BigDecimal.

BigDecimal(BigInteger, Int32)

Erstellt ein BigDecimal Objekt aus einem BigInteger und einer Skalierung.

BigDecimal(BigInteger)

Erstellt ein BigDecimal Objekt aus einem BigInteger, mit Skalierung 0.

BigDecimal(Char[], Int32, Int32)

Erstellt ein BigDecimal Objekt aus einem Array von Zeichen.

BigDecimal(Char[])

Erstellt ein BigDecimal Objekt aus einem Array von Zeichen.

BigDecimal(Double)

Erstellt ein BigDecimal Objekt direkt aus einem double.

BigDecimal(Int32)

Erstellt ein BigDecimal Objekt direkt aus einem int.

BigDecimal(Int64)

Erstellt ein BigDecimal Objekt direkt aus einem long.

BigDecimal(IntPtr, JniHandleOwnership)

Die BigDecimal Klasse implementiert unveränderliche Dezimalzahlen mit beliebiger Genauigkeit.

BigDecimal(String)

Erstellt ein BigDecimal Objekt aus einem String.

Felder

Name Beschreibung
RoundCeiling
Veraltet.

Rundungsmodus, um auf eine positivere Zahl zu runden.

RoundDown
Veraltet.

Rundungsmodus, um auf Null zu runden.

RoundFloor
Veraltet.

Rundungsmodus, um auf eine negativere Zahl zu runden.

RoundHalfDown
Veraltet.

Rundungsmodus zum nächsten Nachbarn, bei dem ein gleichwertiger Wert abgerundet wird.

RoundHalfEven
Veraltet.

Rundungsmodus, um auf den nächsten Nachbarn zu runden, wobei ein gleichgleicher Wert auf den nächstgelegenen Nachbarn gerundet wird.

RoundHalfUp
Veraltet.

Rundungsmodus zum nächsten Nachbarn, bei dem ein gleichgleicher Wert aufgerundet wird.

RoundUnnecessary
Veraltet.

Rundungsmodus, um zu bestätigen, dass keine Rundung erforderlich ist.

RoundUp
Veraltet.

Rundungsmodus zum Abrunden von Null.

Eigenschaften

Name Beschreibung
Class

Gibt die Laufzeitklasse dieses Werts Objectzurück.

(Geerbt von Object)
Handle

Das Handle für die zugrunde liegende Android-Instanz.

(Geerbt von Object)
JniIdentityHashCode

Ruft den Identitätshashcode ab, der diesem Java Peer von der Interop-Laufzeit zugewiesen ist.

(Geerbt von Object)
JniManagedPeerState

Die BigDecimal Klasse implementiert unveränderliche Dezimalzahlen mit beliebiger Genauigkeit.

(Geerbt von JavaObject)
JniPeerMembers

Die BigDecimal Klasse implementiert unveränderliche Dezimalzahlen mit beliebiger Genauigkeit.

One

Die BigDecimal Konstante "1".

PeerReference

Ruft den JNI-Objektverweis für diesen Java Peer ab.

(Geerbt von Object)
Ten

Die BigDecimal Konstante "10".

ThresholdClass

Die BigDecimal Klasse implementiert unveränderliche Dezimalzahlen mit beliebiger Genauigkeit.

ThresholdType

Die BigDecimal Klasse implementiert unveränderliche Dezimalzahlen mit beliebiger Genauigkeit.

Zero

Die BigDecimal Konstante "0".

Methoden

Name Beschreibung
Abs()

Gibt eine Ebene BigDecimal zurück, deren Wert der absolute Wert dieses BigDecimalWerts ist.

Abs(MathContext)

Gibt einen BigDecimal Wert zurück, dessen Wert der absolute Wert dieses BigDecimalWerts ist.

Add(BigDecimal, MathContext)

Gibt einen BigDecimal Wert zurück, dessen Wert ist this+rhs.

Add(BigDecimal)

Gibt eine Einfache BigDecimal , deren Wert this+rhsist , mithilfe von Festkommaarithmetik zurück.

ByteValue()

Gibt den Wert der angegebenen Zahl als ein byte.

(Geerbt von Number)
ByteValueExact()

Konvertiert diesen BigDecimal in ein byte-Element.

Clone()

Erstellt und gibt eine Kopie dieses Objekts zurück.

(Geerbt von Object)
CompareTo(BigDecimal, MathContext)

Vergleicht dies BigDecimal mit einer anderen.

CompareTo(BigDecimal)

Vergleicht dies BigDecimal mit einer anderen, mit unbegrenzter Genauigkeit.

Construct(JniObjectReference, JniObjectReferenceOptions)

Die BigDecimal Klasse implementiert unveränderliche Dezimalzahlen mit beliebiger Genauigkeit.

(Geerbt von JavaObject)
Dispose()

Veröffentlicht die Ressourcen, die von diesem Java Peer gehalten werden.

(Geerbt von Object)
Dispose(Boolean)

Veröffentlicht die Ressourcen, die von diesem Java Peer gehalten werden.

(Geerbt von Object)
DisposeUnlessReferenced()

Die BigDecimal Klasse implementiert unveränderliche Dezimalzahlen mit beliebiger Genauigkeit.

(Geerbt von JavaObject)
Divide(BigDecimal, Int32, RoundOptions)

Gibt eine Einfache BigDecimal zurück, deren Wert this/rhsist , wobei festkommatische Arithmetik und ein bestimmter Skalierungs- und Rundungsmodus verwendet wird.

Divide(BigDecimal, MathContext)

Gibt einen BigDecimal Wert zurück, dessen Wert ist this/rhs.

Divide(BigDecimal, RoundOptions)

Gibt einen einfachen BigDecimal Wert zurück, dessen Wert mit festem Punkt arithmetisch und einem Rundungsmodus ist this/rhs.

Divide(BigDecimal)

Gibt eine Einfache BigDecimal , deren Wert this/rhsist , mithilfe von Festkommaarithmetik zurück.

DivideInteger(BigDecimal, MathContext)

Gibt einen BigDecimal Wert zurück, dessen Wert der ganzzahlige Teil von this/rhs.

DivideInteger(BigDecimal)

Gibt einen einfachen BigDecimal Wert zurück, dessen Wert der ganzzahlige Teil von this/rhs.

DoubleValue()

Konvertiert diesen BigDecimal in ein double-Element.

Equals(Object)

Die BigDecimal Klasse implementiert unveränderliche Dezimalzahlen mit beliebiger Genauigkeit.

(Geerbt von JavaObject)
Equals(Object)

Gibt an, ob ein anderes Objekt "gleich" diesem Objekt ist.

(Geerbt von Object)
FloatValue()

Konvertiert diesen BigDecimal in ein float-Element.

Format(Int32, Int32, Int32, Int32, Int32, RoundOptions)

Gibt die String Darstellung dieses BigDecimal, geändert durch Layoutparameter und zulassen der exponentiellen Schreibweise zurück.

Format(Int32, Int32)

Gibt die String Darstellung dieser BigDecimal, geändert durch Layoutparameter zurück.

GetHashCode()

Gibt einen Hashcodewert für das Objekt zurück.

(Geerbt von Object)
IntValue()

Konvertiert dies BigDecimal in ein int.

IntValueExact()

Konvertiert dies BigDecimal in ein int.

JavaFinalize()

Wird vom Garbage Collector für ein Objekt aufgerufen, wenn die Garbage Collection bestimmt, dass keine weiteren Verweise auf das Objekt vorhanden sind.

(Geerbt von Object)
LongValue()

Konvertiert diesen BigDecimal in ein long-Element.

LongValueExact()

Konvertiert diesen BigDecimal in ein long-Element.

Max(BigDecimal, MathContext)

Gibt einen BigDecimal Wert zurück, dessen Wert das Maximum von this und rhs.

Max(BigDecimal)

Gibt eine Ebene BigDecimal zurück, deren Wert das Maximum von this und rhs.

Min(BigDecimal, MathContext)

Gibt einen BigDecimal Wert zurück, dessen Wert das Minimum von this und .rhs

Min(BigDecimal)

Gibt eine Ebene BigDecimal zurück, deren Wert das Minimum von this und .rhs

MovePointLeft(Int32)

Gibt eine einfache Zahl BigDecimal zurück, deren Dezimalkomma um eine angegebene Anzahl von Positionen nach links verschoben wurde.

MovePointRight(Int32)

Gibt eine einfache Zahl BigDecimal zurück, deren Dezimalkomma um eine angegebene Anzahl von Positionen nach rechts verschoben wurde.

Multiply(BigDecimal, MathContext)

Gibt einen BigDecimal Wert zurück, dessen Wert ist this*rhs.

Multiply(BigDecimal)

Gibt eine Einfache BigDecimal , deren Wert this*rhsist , mithilfe von Festkommaarithmetik zurück.

Negate()

Gibt eine Ebene BigDecimal zurück, deren Wert ist -this.

Negate(MathContext)

Gibt einen BigDecimal Wert zurück, dessen Wert ist -this.

Notify()

Aktiviert einen einzelnen Thread, der auf dem Monitor dieses Objekts wartet.

(Geerbt von Object)
NotifyAll()

Aktiviert alle Threads, die auf dem Monitor dieses Objekts warten.

(Geerbt von Object)
Plus()

Gibt eine Ebene BigDecimal zurück, deren Wert ist +this.

Plus(MathContext)

Gibt einen BigDecimal Wert zurück, dessen Wert ist +this.

Pow(BigDecimal, MathContext)

Gibt einen BigDecimal Wert zurück, dessen Wert ist this**rhs.

Pow(BigDecimal)

Gibt eine Einfache BigDecimal , deren Wert this**rhsist , mithilfe von Festkommaarithmetik zurück.

Remainder(BigDecimal, MathContext)

Gibt einen BigDecimal Wert zurück, dessen Wert der rest des Werts this/rhsist.

Remainder(BigDecimal)

Gibt eine Einfache zurück BigDecimal , deren Wert der rest des this/rhsWerts ist, wobei die Arithmetik mit festem Punkt verwendet wird.

Scale()

Gibt die Skalierung dieses Werts BigDecimalzurück.

SetHandle(IntPtr, JniHandleOwnership)

Legt die Handle-Eigenschaft fest.

(Geerbt von Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Die BigDecimal Klasse implementiert unveränderliche Dezimalzahlen mit beliebiger Genauigkeit.

(Geerbt von JavaObject)
SetScale(Int32, RoundOptions)

Gibt eine einfache BigDecimal Ebene mit einer bestimmten Skala zurück.

SetScale(Int32)

Gibt eine einfache BigDecimal Ebene mit einer bestimmten Skala zurück.

ShortValue()

Gibt den Wert der angegebenen Zahl als ein short.

(Geerbt von Number)
ShortValueExact()

Konvertiert diesen BigDecimal in ein short-Element.

Signum()

Gibt das Zeichen dieses BigDecimalWerts als ein int.

Subtract(BigDecimal, MathContext)

Gibt einen BigDecimal Wert zurück, dessen Wert ist this-rhs.

Subtract(BigDecimal)

Gibt eine Einfache BigDecimal , deren Wert this-rhsist , mithilfe von Festkommaarithmetik zurück.

ToArray<T>()

Erstellt ein verwaltetes Array aus diesem Java Arraywrapper.

(Geerbt von Object)
ToBigDecimal()

Konvertiert diesen BigDecimal in ein java.math.BigDecimal-Element.

ToBigInteger()

Konvertiert diesen BigDecimal in ein java.math.BigInteger-Element.

ToBigIntegerExact()

Konvertiert diesen BigDecimal in ein java.math.BigInteger-Element.

ToCharArray()

Gibt das BigDecimal Als Zeichenarray zurück.

ToString()

Gibt eine Zeichenfolgendarstellung des Objekts zurück.

(Geerbt von Object)
UnregisterFromRuntime()

Hebt die Registrierung dieses Java Peers aus der Interop-Laufzeit auf.

(Geerbt von Object)
UnscaledValue()

Gibt die Zahl als BigInteger nach dem Entfernen der Skalierung zurück.

ValueOf(Double)

Übersetzt ein double in ein BigDecimal.

ValueOf(Int64, Int32)

Übersetzt eine long in eine BigDecimal mit einer bestimmten Skala.

ValueOf(Int64)

Übersetzt ein long in ein BigDecimal.

Wait()

Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch em benachrichtigt/em< oder >em<unterbrochen>/em<.><>

(Geerbt von Object)
Wait(Int64, Int32)

Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist.

(Geerbt von Object)
Wait(Int64)

Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

Name Beschreibung
IComparable.CompareTo(Object)

Die BigDecimal Klasse implementiert unveränderliche Dezimalzahlen mit beliebiger Genauigkeit.

IJavaPeerable.Disposed()

Die BigDecimal Klasse implementiert unveränderliche Dezimalzahlen mit beliebiger Genauigkeit.

(Geerbt von JavaObject)
IJavaPeerable.Finalized()

Die BigDecimal Klasse implementiert unveränderliche Dezimalzahlen mit beliebiger Genauigkeit.

(Geerbt von JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Die BigDecimal Klasse implementiert unveränderliche Dezimalzahlen mit beliebiger Genauigkeit.

(Geerbt von JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Die BigDecimal Klasse implementiert unveränderliche Dezimalzahlen mit beliebiger Genauigkeit.

(Geerbt von JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Die BigDecimal Klasse implementiert unveränderliche Dezimalzahlen mit beliebiger Genauigkeit.

(Geerbt von JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Die BigDecimal Klasse implementiert unveränderliche Dezimalzahlen mit beliebiger Genauigkeit.

(Geerbt von JavaObject)
IJavaPeerable.UnregisterFromRuntime()

Die BigDecimal Klasse implementiert unveränderliche Dezimalzahlen mit beliebiger Genauigkeit.

Erweiterungsmethoden

Name Beschreibung
GetJniTypeName(IJavaPeerable)

Ruft den JNI-Namen des Typs der Instanz selfab.

JavaAs<TResult>(IJavaPeerable)

Versuchen Sie, die Eingabe selfzu TResult erzwingen, und überprüfen Sie, ob die Koersion auf der Java Seite gültig ist.

JavaCast<TResult>(IJavaObject)

Führt eine android-laufzeitgecheckte Typkonvertierung aus.

JavaCast<TResult>(IJavaObject)

Die BigDecimal Klasse implementiert unveränderliche Dezimalzahlen mit beliebiger Genauigkeit.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Versuchen Sie, die Eingabe selfzu TResult erzwingen, und überprüfen Sie, ob die Koersion auf der Java Seite gültig ist.

Gilt für: