Double Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Die Double
-Klasse umschließt einen Wert des primitiven Typs double
in einem -Objekt.
[Android.Runtime.Register("java/lang/Double", DoNotGenerateAcw=true)]
public sealed class Double : Java.Lang.Number, IConvertible, IDisposable, Java.Interop.IJavaPeerable, Java.Lang.IComparable
[<Android.Runtime.Register("java/lang/Double", DoNotGenerateAcw=true)>]
type Double = class
inherit Number
interface IConvertible
interface IComparable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- Vererbung
- Attribute
- Implementiert
Hinweise
Die Double
-Klasse umschließt einen Wert des primitiven Typs double
in einem -Objekt. Ein Objekt vom Typ Double
enthält ein einzelnes Feld, dessen Typ ist double
.
Darüber hinaus bietet diese Klasse mehrere Methoden zum Konvertieren von ein double
String
und ein String
in ein double
sowie andere Konstanten und Methoden, die beim Umgang mit einem double
nützlich sind.
<-- android-removed: Absatz auf ValueBased
Dies ist eine wertbasierte Klasse. Programmierer sollten Instanzen, die #equals(Object) gleich sind, als austauschbar behandeln und keine Instanzen für die Synchronisierung verwenden, oder es kann zu unvorhersehbarem Verhalten kommen. In einer zukünftigen Version kann beispielsweise bei der Synchronisierung ein Fehler auftreten. -->
<h2>ÄquivalenzRelation>Gleitkommagleichheit, Äquivalenz und Vergleich</h2>
IEEE 754-Gleitkommawerte umfassen endliche nonzero-Werte, signierte Nullen (+0.0
und -0.0
), signierte Infinities Double#POSITIVE_INFINITY positive unendlich und Double#NEGATIVE_INFINITY negative unendlich) und Double#NaN NaN NaN (not-a-number).
Eine <Em-Äquivalenzbeziehung></em> für einen Satz von Werten ist eine boolesche Beziehung für Wertepaare, die reflexiv, symmetrisch und transitiv sind. Weitere Informationen zu Äquivalenzbeziehungen und Objektgleichheit finden Sie in der Object#equals Object.equals
Spezifikation. Eine Äquivalenzbeziehung partitioniert die Werte, über die sie arbeitet, in Sätze, die als Äquivalenzklassen bezeichnet werden. Alle Elemente der Äquivalenzklasse sind unter der Beziehung gleich. Eine Äquivalenzklasse darf nur ein einzelnes Element enthalten. Zumindest für einige Zwecke sind alle Member einer Äquivalenzklasse füreinander ersetzbar. Insbesondere können in einem numerischen Ausdruck gleichwertige< Werte em/>em> für einander ersetzt werden, ohne das Ergebnis des Ausdrucks zu ändern, was bedeutet, dass die Äquivalenzklasse des Ergebnisses des Ausdrucks geändert wird<.
Insbesondere ist der integrierte ==
Vorgang für Gleitkommawerte keine><> Äquivalenzbeziehung.< Obwohl keine Äquivalenzbeziehung definiert wurde, wurde die Semantik des IEEE 754-Operators ==
bewusst so konzipiert, dass sie andere Anforderungen numerischer Berechnungen erfüllt. Es gibt zwei Ausnahmen, bei denen die Eigenschaften einer Äquivalenzbeziehung durch ==
Gleitkommawerte nicht erfüllt werden:
<ul>
<li>Wenn v1
und v2
naN sind, hat v1 == v2
der Wert false
. Daher ist <für zwei NaN-Argumente die <em>reflexive</em-Eigenschaft> einer Äquivalenzbeziehung em>not</em> vom ==
Operator erfüllt.
<li>, wenn v1
dargestellt +0.0
wird, während v2
oder -0.0
umgekehrt, hat den Werttrue
, obwohl +0.0
und -0.0
unter verschiedenen Gleitkommavorgängen v1 == v2
unterschieden werden kann. So wird z. B. in positive Unendlichkeit ausgewertet><, 1.0/+0.0
während 1.0/-0.0
negative</em-Unendlichkeit> und positive Unendlichkeit und negative Unendlichkeit weder gleicheinander noch gleichwertig zueinander sind. Daher bestimmt eine Eingabe mit signierter Null am häufigsten das Zeichen eines Nullergebnisses, da sie durch null dividiert wird, +0.0
und -0.0
kann im Allgemeinen nicht gegenseitig ersetzt werden. Das Zeichen einer Nulleingabe hat auch einen nicht substituierbaren Effekt auf das Ergebnis einiger mathematischer Bibliotheksmethoden.
</ul>
Für geordnete Vergleiche mit den integrierten Vergleichsoperatoren (<
, <=
usw.) weisen NaN-Werte eine andere anomale Situation auf: Ein NaN ist weder kleiner als noch größer als, noch gleich einem Wert, einschließlich sich selbst. Dies bedeutet, dass die Trichotomie des Vergleichs<em>not</em> hält.
Um die geeignete Semantik für equals
und compareTo
Methoden bereitzustellen, können diese Methoden nicht einfach Wrapper um ==
oder geordnete Vergleichsvorgänge sein. Definiert stattdessen NaN-Argumente, Double#equals equals
um gleich zu sein, und definiert +0.0
, dass <em>not</em> gleich sein soll -0.0
, um reflexivität wiederherzustellen. Für Vergleiche definiert eine Gesamtreihenfolge, Double#compareTo compareTo
bei der -0.0
kleiner als +0.0
ist und bei der ein NaN gleich sich selbst ist und als größer als positive Unendlichkeit betrachtet wird.
Die operative Semantik von equals
und compareTo
wird in Bezug auf #doubleToLongBits bitweise Konvertierung der Gleitkommawerte in integrale Werte ausgedrückt.
Die <von implementierte #compareTo compareTo
natürliche>Reihenfolge</em> ist vergleichbar konsistent mit gleich. Das heißt, zwei Objekte werden als gleich gemeldet equals
, wenn und nur, wenn compareTo
für diese Objekte null zurückgegeben wird.
Die für equals
und compareTo
definierten angepassten Verhaltensweisen ermöglichen es Instanzen von Wrapperklassen, ordnungsgemäß mit herkömmlichen Datenstrukturen zu arbeiten. Wenn Sie z. B. NaN-Werte equals
zueinander definieren, kann NaN als Element eines java.util.HashSet HashSet
oder als Schlüssel eines java.util.HashMap HashMap
verwendet werden. Ebenso ermöglicht die Definition compareTo
als Gesamtreihenfolge, einschließlich +0.0
, -0.0
und NaN, Instanzen von Wrapperklassen als Elemente eines java.util.SortedSet SortedSet
oder als Schlüssel eines java.util.SortedMap SortedMap
.
In 1.0 hinzugefügt.
Java-Dokumentation für java.lang.Double
.
Teile dieser Seite sind Änderungen, die auf Arbeiten basieren, die vom Android Open Source Project erstellt und freigegeben wurden und gemäß den In der Attribution License beschriebenen Begriffen verwendet werden.
Konstruktoren
Double(Double) |
Erstellt ein neu zugeordnetes |
Double(String) |
Erstellt ein neu zugeordnetes |
Felder
Bytes |
Die Anzahl der Bytes, die zum Darstellen eines Werts |
MaxExponent |
Maximaler Exponent, über den eine endliche |
MaxValue |
Eine Konstante mit dem größten positiven endlichen Wert vom Typ |
MinExponent |
Minimaler Exponent, den eine normalisierte |
MinNormal |
Eine Konstante, die den kleinsten positiven Normalwert des Typs |
MinValue |
Eine Konstante, die den kleinsten positiven nonzero-Wert des Typs |
NaN |
Eine Konstante, die einen NaN-Wert (Not-a-Number) vom Typ |
NegativeInfinity |
Eine Konstante, die die negative Unendlichkeit des Typs |
PositiveInfinity |
Eine Konstante, die die positive Unendlichkeit des Typs |
Size |
Die Anzahl der Bits, die zum Darstellen eines |
Eigenschaften
Class |
Gibt die Laufzeitklasse dieses |
Handle |
Das Handle zum zugrunde liegenden Android-instance. (Geerbt von Object) |
IsInfinite |
Gibt zurück |
IsNaN |
Gibt zurück |
JniIdentityHashCode |
Die |
JniPeerMembers |
Die |
PeerReference |
Die |
ThresholdClass |
Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen. (Geerbt von Number) |
ThresholdType |
Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen. (Geerbt von Number) |
Type |
Die |
Methoden
ByteValue() |
Gibt den Wert der angegebenen Zahl als zurück |
Clone() |
Erstellt und gibt eine Kopie dieses Objekts zurück. (Geerbt von Object) |
Compare(Double, Double) |
Vergleicht die beiden angegebenen |
CompareTo(Double) |
Vergleicht zwei |
Dispose() |
Die |
Dispose(Boolean) |
Die |
DoubleToLongBits(Double) |
Gibt eine Darstellung des angegebenen Gleitkommawerts gemäß dem IEEE 754-Gleitkomma-Bitlayout "Double Format" zurück. |
DoubleToRawLongBits(Double) |
Gibt eine Darstellung des angegebenen Gleitkommawerts gemäß dem IEEE 754-Gleitkomma-Bitlayout "Double Format" zurück, wobei NaN-Werte (Not-a-Number) beibehalten werden. |
DoubleValue() |
Gibt den |
Equals(Object) |
Gibt an, ob ein anderes Objekt diesem "gleich" ist. (Geerbt von Object) |
FloatValue() |
Gibt den Wert dieses |
GetHashCode() |
Gibt einen Hashcodewert für das Objekt zurück. (Geerbt von Object) |
HashCode(Double) |
Gibt einen Hashcode für einen Wert zurück |
IntValue() |
Gibt den Wert dieses Werts |
InvokeIsInfinite(Double) |
Gibt zurück |
InvokeIsNaN(Double) |
Gibt zurück |
IsFinite(Double) |
Gibt zurück |
JavaFinalize() |
Wird vom Garbage Collector für ein Objekt aufgerufen, wenn die Garbage Collection feststellt, dass keine Verweise mehr auf das Objekt vorhanden sind. (Geerbt von Object) |
LongBitsToDouble(Int64) |
Gibt den Wert zurück, der |
LongValue() |
Gibt den Wert dieses |
Max(Double, Double) |
Gibt den größeren von zwei |
Min(Double, Double) |
Gibt den kleineren von zwei |
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) |
ParseDouble(String) |
Gibt einen neuen |
SetHandle(IntPtr, JniHandleOwnership) |
Legt die Handle-Eigenschaft fest. (Geerbt von Object) |
ShortValue() |
Gibt den Wert der angegebenen Zahl als zurück |
Sum(Double, Double) |
Fügt zwei |
ToArray<T>() |
Die |
ToHexString(Double) |
Gibt eine hexadezimale Zeichenfolgendarstellung des |
ToString() |
Gibt eine Zeichenfolgendarstellung des Objekts zurück. (Geerbt von Object) |
ToString(Double) |
Gibt eine Zeichenfolgendarstellung des |
UnregisterFromRuntime() |
Die |
ValueOf(Double) |
Gibt einen |
ValueOf(String) |
Gibt ein |
Wait() |
Bewirkt, dass der aktuelle Thread wartet, bis er aktiviert wird, in der Regel durch em benachrichtigen/em> oder <em>interrupted</em>.<>< (Geerbt von Object) |
Wait(Int64) |
Bewirkt, dass der aktuelle Thread wartet, bis er aktiviert wird, in der Regel, indem <er>benachrichtigt</em> oder <em>interrupted</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist. (Geerbt von Object) |
Wait(Int64, Int32) |
Bewirkt, dass der aktuelle Thread wartet, bis er aktiviert wird, in der Regel, indem <er>benachrichtigt</em> oder <em>interrupted</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist. (Geerbt von Object) |
Operatoren
Explicit(Double to Double) |
Die |
Explizite Schnittstellenimplementierungen
IComparable.CompareTo(Object) |
Die |
IConvertible.GetTypeCode() |
Die |
IConvertible.ToBoolean(IFormatProvider) |
Die |
IConvertible.ToByte(IFormatProvider) |
Die |
IConvertible.ToChar(IFormatProvider) |
Die |
IConvertible.ToDateTime(IFormatProvider) |
Die |
IConvertible.ToDecimal(IFormatProvider) |
Die |
IConvertible.ToDouble(IFormatProvider) |
Die |
IConvertible.ToInt16(IFormatProvider) |
Die |
IConvertible.ToInt32(IFormatProvider) |
Die |
IConvertible.ToInt64(IFormatProvider) |
Die |
IConvertible.ToSByte(IFormatProvider) |
Die |
IConvertible.ToSingle(IFormatProvider) |
Die |
IConvertible.ToString(IFormatProvider) |
Die |
IConvertible.ToType(Type, IFormatProvider) |
Die |
IConvertible.ToUInt16(IFormatProvider) |
Die |
IConvertible.ToUInt32(IFormatProvider) |
Die |
IConvertible.ToUInt64(IFormatProvider) |
Die |
IJavaPeerable.Disposed() |
Die |
IJavaPeerable.DisposeUnlessReferenced() |
Die |
IJavaPeerable.Finalized() |
Die |
IJavaPeerable.JniManagedPeerState |
Die |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Die |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Die |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Die |
Erweiterungsmethoden
JavaCast<TResult>(IJavaObject) |
Führt eine Für Android-Runtime überprüfte Typkonvertierung aus. |
JavaCast<TResult>(IJavaObject) |
Die |
GetJniTypeName(IJavaPeerable) |
Die |