Linguaggio

Double Classe

Definizione

La Double classe esegue il wrapping di un valore del tipo double primitivo in un oggetto .

[Android.Runtime.Register("java/lang/Double", DoNotGenerateAcw=true)]
public sealed class Double : Java.Lang.Number, IConvertible, IDisposable, 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
Ereditarietà
Attributi
Implementazioni

Commenti

La Double classe esegue il wrapping di un valore del tipo double primitivo in un oggetto . Un oggetto di tipo Double contiene un singolo campo il cui tipo è double.

Inoltre, questa classe fornisce diversi metodi per la conversione di un double oggetto in un String oggetto e in String un doubleoggetto , nonché altre costanti e metodi utili per la gestione di un oggetto double.

<-- Android rimosso: paragrafo su ValueBased

Si tratta di una classe basata su valori ; I programmatori devono considerare le istanze che sono #equals(Object) uguali a intercambiabili e non devono usare istanze per la sincronizzazione o possono verificarsi comportamenti imprevedibili. Ad esempio, in una versione futura, la sincronizzazione potrebbe non riuscire. -->

<equivalenza h2Eguaglianza>>a virgola mobile, equivalenza e confronto</h2>

I valori a virgola mobile IEEE 754 includono valori finiti diversi da zero, zeri con segno (+0.0 e -0.0), con segno Double#POSITIVE_INFINITY infinito positivo e Double#NEGATIVE_INFINITY infinito negativo) e Double#NaN NaN (not-a-number).

Una <relazione> di equivalenza em/em<> su un set di valori è una relazione booleana su coppie di valori riflessivi, simmetrici e transitivi. Per altre informazioni sulle relazioni di equivalenza e sull'uguaglianza degli oggetti, vedere la Object#equals Object.equals specifica. Una relazione di equivalenza partiziona i valori su cui opera in set denominati classi di equivalenza. Tutti i membri della classe di equivalenza sono uguali tra loro sotto la relazione. Una classe di equivalenza può contenere solo un singolo membro. Almeno per alcuni scopi, tutti i membri di una classe di equivalenza sono sostituibili tra loro. In particolare, in un'espressione numerica i valori equivalenti possono essere <sostituiti></em> tra loro senza modificare il risultato dell'espressione, vale a dire modificare la classe di equivalenza del risultato dell'espressione.

In particolare, l'operazione predefinita sui valori a == virgola mobile è <em>not</em> una relazione di equivalenza. Nonostante non si definisca una relazione di equivalenza, la semantica dell'operatore IEEE 754 == è stata deliberatamente progettata per soddisfare altre esigenze di calcolo numerico. Esistono due eccezioni in cui le proprietà di una relazione di equivalenza non vengono soddisfatte dai == valori a virgola mobile:

<ul>

<li>Se v1 e v2 sono entrambi NaN, v1 == v2 ha il valore false. Pertanto, per due argomenti NaN, la <proprietà em>riflessiva</em> di una relazione di equivalenza è <em>not</em> soddisfatta dall'operatore == .

<li>Se v1 rappresenta mentre +0.0 rappresenta v2-0.0 o viceversa, v1 == v2 ha il valore true anche se +0.0 e -0.0 sono distinguibili in varie operazioni a virgola mobile. Ad esempio, 1.0/+0.0 restituisce un infinito positivo mentre 1.0/-0.0 restituisce <l'infinito>negativo</em> e l'infinito positivo e l'infinito negativo non sono né uguali l'uno all'altro né equivalenti tra loro. Pertanto, mentre un input con segno zero determina in genere il segno di un risultato zero, a causa della divisione per zero e +0.0-0.0 potrebbe non essere sostituito tra loro in generale. Il segno di un input zero ha anche un effetto non sostituibile sul risultato di alcuni metodi di libreria matematica.

</ul>

Per i confronti ordinati che usano gli operatori di confronto predefiniti (<, <=e così via), i valori NaN presentano un'altra situazione anomala: un NaN non è minore di, né maggiore di, né uguale a qualsiasi valore, incluso se stesso. Ciò significa che la tricotomia del confronto non <tiene premuto em></em>.

Per fornire la semantica appropriata per equals i metodi e compareTo , questi metodi non possono essere semplicemente wrapper o == operazioni di confronto ordinate. Definisce invece Double#equals equals argomenti NaN uguali tra loro e definisce +0.0 em not</em> essere uguale a<>-0.0 , ripristinando la riflessività. Per i confronti, Double#compareTo compareTo definisce un ordine totale in cui -0.0 è minore di +0.0 e dove un NaN è uguale a se stesso e considerato maggiore dell'infinito positivo.

La semantica operativa di equals e compareTo è espressa in termini di #doubleToLongBits bit per convertire i valori a virgola mobile in valori integrali.

L'ordinamento <>< naturale em>implementato da #compareTo compareTo è coerente con uguale a. Ovvero, due oggetti vengono segnalati come uguali da equals se e solo se compareTo in tali oggetti restituisce zero.

I comportamenti modificati definiti per equals e compareTo consentono alle istanze di classi wrapper di funzionare correttamente con le strutture di dati convenzionali. Ad esempio, la definizione di valori equals NaN da usare tra loro consente di usare NaN come elemento di o java.util.HashSet HashSet come chiave di un oggetto java.util.HashMap HashMap. Analogamente, la definizione compareTo come ordinamento totale, tra cui +0.0, -0.0e NaN, consente l'uso di istanze di classi wrapper come elementi di un java.util.SortedSet SortedSet oggetto o come chiavi di un oggetto java.util.SortedMap SortedMap.

Aggiunta nella versione 1.0.

per java.lang.Double.

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.

Costruttori

Nome Descrizione
Double(Double)

Costruisce un oggetto appena allocato Double che rappresenta l'argomento primitivo double .

Double(String)

Costruisce un oggetto appena allocato Double che rappresenta il valore a virgola mobile di tipo double rappresentato dalla stringa.

Campi

Nome Descrizione
Bytes

Numero di byte utilizzati per rappresentare un double valore.

MaxExponent

L'esponente massimo di una variabile finita double può avere.

MaxValue

Costante che contiene il valore finito positivo più grande di tipo double, (2-2<sup-52></sup>)· 2<sup>1023</sup>.

MinExponent

L'esponente minimo di una variabile normalizzata double può avere.

MinNormal

Costante che contiene il valore normale positivo più piccolo di tipo double, 2<sup-1022></sup>.

MinValue

Costante che contiene il valore minimo positivo diverso da zero di tipo , 2doublesup-1074<>/sup<.>

NaN

Costante che contiene un valore Not-a-Number (NaN) di tipo double.

NegativeInfinity

Costante che contiene l'infinito negativo di tipo double.

PositiveInfinity

Costante che contiene l'infinito positivo di tipo double.

Precision

Numero di bit nel significando di un double valore.

Size

Numero di bit utilizzati per rappresentare un double valore.

Proprietà

Nome Descrizione
Class

Restituisce la classe di runtime di questo Objectoggetto .

(Ereditato da Object)
Handle

Handle per l'istanza di Android sottostante.

(Ereditato da Object)
IsInfinite

Restituisce true se questo Double valore è infinitamente grande in grandezza, false in caso contrario.

IsNaN

Restituisce true se questo Double valore è un valore Not-a-Number (NaN), false in caso contrario.

JniIdentityHashCode

Ottiene il codice hash di identità assegnato a questo Java peer dal runtime di interoperabilità.

(Ereditato da Object)
JniManagedPeerState

La Double classe esegue il wrapping di un valore del tipo double primitivo in un oggetto .

(Ereditato da JavaObject)
JniPeerMembers

Ottiene i metadati JNI usati per richiamare i membri di questo peer Java.

PeerReference

Ottiene il riferimento all'oggetto JNI per questo peer Java.

(Ereditato da Object)
ThresholdClass

Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice.

(Ereditato da Number)
ThresholdType

Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice.

(Ereditato da Number)
Type

Class Istanza che rappresenta il tipo doubleprimitivo .

Metodi

Nome Descrizione
ByteValue()

Restituisce il valore del numero specificato come .byte

(Ereditato da Number)
Clone()

Crea e restituisce una copia di questo oggetto.

(Ereditato da Object)
Compare(Double, Double)

Confronta i due valori specificati double .

CompareTo(Double)

Confronta due Double oggetti numericamente.

Construct(JniObjectReference, JniObjectReferenceOptions)

La Double classe esegue il wrapping di un valore del tipo double primitivo in un oggetto .

(Ereditato da JavaObject)
Dispose()

Rilascia le risorse contenute in questo peer Java.

(Ereditato da Object)
Dispose(Boolean)

Rilascia le risorse contenute in questo peer Java.

(Ereditato da Object)
DisposeUnlessReferenced()

La Double classe esegue il wrapping di un valore del tipo double primitivo in un oggetto .

(Ereditato da JavaObject)
DoubleToLongBits(Double)

Restituisce una rappresentazione del valore a virgola mobile specificato in base al layout di bit "double format" a virgola mobile IEEE 754.

DoubleToRawLongBits(Double)

Restituisce una rappresentazione del valore a virgola mobile specificato in base al layout di bit "double format" a virgola mobile IEEE 754, mantenendo i valori Not-a-Number (NaN).

DoubleValue()

Restituisce il double valore di questo Double oggetto.

Equals(Object)

La Double classe esegue il wrapping di un valore del tipo double primitivo in un oggetto .

(Ereditato da JavaObject)
Equals(Object)

Indica se un altro oggetto è "uguale a" questo.

(Ereditato da Object)
FloatValue()

Restituisce il valore di questo Double oggetto come oggetto float dopo una conversione primitiva di tipo narrowing.

GetHashCode()

Restituisce un valore di codice hash per l'oggetto .

(Ereditato da Object)
HashCode(Double)

Restituisce un codice hash per un double valore, compatibile con Double.hashCode().

IntValue()

Restituisce il valore di questo Double oggetto come oggetto int dopo una conversione primitiva di tipo narrowing.

InvokeIsInfinite(Double)

Restituisce true se il numero specificato è infinitamente grande in grandezza, false in caso contrario.

InvokeIsNaN(Double)

Restituisce true se il numero specificato è un valore false Not-a-Number (NaN), in caso contrario.

IsFinite(Double)

Restituisce true se l'argomento è un valore a virgola mobile finito; in false caso contrario, per gli argomenti NaN e infinity.

JavaFinalize()

Chiamato dal Garbage Collector su un oggetto quando Garbage Collection determina che non sono presenti altri riferimenti all'oggetto .

(Ereditato da Object)
LongBitsToDouble(Int64)

Restituisce il double valore corrispondente a una rappresentazione di bit specificata.

LongValue()

Restituisce il valore di questo Double oggetto come oggetto long dopo una conversione primitiva di tipo narrowing.

Max(Double, Double)

Restituisce il valore maggiore di due double valori come se fosse chiamando Math#max(double, double) Math.max.

Min(Double, Double)

Restituisce il più piccolo di due double valori come se fosse chiamando Math#min(double, double) Math.min.

Notify()

Riattiva un singolo thread in attesa del monitor dell'oggetto.

(Ereditato da Object)
NotifyAll()

Riattiva tutti i thread in attesa del monitor dell'oggetto.

(Ereditato da Object)
ParseDouble(String)

Restituisce un nuovo double oggetto inizializzato al valore rappresentato dall'oggetto specificato String, come eseguito dal valueOf metodo della classe Double.

SetHandle(IntPtr, JniHandleOwnership)

Imposta la proprietà Handle.

(Ereditato da Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

La Double classe esegue il wrapping di un valore del tipo double primitivo in un oggetto .

(Ereditato da JavaObject)
ShortValue()

Restituisce il valore del numero specificato come .short

(Ereditato da Number)
Sum(Double, Double)

Aggiunge due double valori insieme in base all'operatore + .

ToArray<T>()

Crea una matrice gestita da questo wrapper di matrice Java.

(Ereditato da Object)
ToHexString(Double)

Restituisce una rappresentazione di stringa esadecimale dell'argomento double .

ToString()

Restituisce una rappresentazione di stringa dell'oggetto .

(Ereditato da Object)
ToString(Double)

Restituisce una rappresentazione di stringa dell'argomento double .

UnregisterFromRuntime()

Annulla la registrazione di questo Java peer dal runtime di interoperabilità.

(Ereditato da Object)
ValueOf(Double)

Restituisce un'istanza Double che rappresenta il valore specificato double .

ValueOf(String)

Restituisce un Double oggetto che contiene il double valore rappresentato dalla stringa sdell'argomento .

Wait()

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo <>una notifica</em> o <em>interrotto</em>.

(Ereditato da Object)
Wait(Int64, Int32)

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo<> una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale.

(Ereditato da Object)
Wait(Int64)

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo<> una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale.

(Ereditato da Object)

Operatori

Nome Descrizione
Explicit(Double to Double)

Converte il valore specificato Double in Double.

Implementazioni dell'interfaccia esplicita

Nome Descrizione
IComparable.CompareTo(Object)

Confronta questo valore con l'oggetto specificato per l'ordinamento.

IConvertible.GetTypeCode()

Restituisce il codice di tipo per questo valore.

IConvertible.ToBoolean(IFormatProvider)

Converte questo valore in Boolean.

IConvertible.ToByte(IFormatProvider)

Converte questo valore in Byte.

IConvertible.ToChar(IFormatProvider)

Converte questo valore in Char.

IConvertible.ToDateTime(IFormatProvider)

La conversione in DateTime non è supportata e genera InvalidCastException.

IConvertible.ToDecimal(IFormatProvider)

Converte questo valore in Decimal.

IConvertible.ToDouble(IFormatProvider)

Converte questo valore in Double.

IConvertible.ToInt16(IFormatProvider)

Converte questo valore in Int16.

IConvertible.ToInt32(IFormatProvider)

Converte questo valore in Int32.

IConvertible.ToInt64(IFormatProvider)

Converte questo valore in Int64.

IConvertible.ToSByte(IFormatProvider)

Converte questo valore in SByte.

IConvertible.ToSingle(IFormatProvider)

Converte questo valore in Single.

IConvertible.ToString(IFormatProvider)

Converte questo valore in String.

IConvertible.ToType(Type, IFormatProvider)

Converte questo valore nel tipo specificato da conversionType.

IConvertible.ToUInt16(IFormatProvider)

Converte questo valore in UInt16.

IConvertible.ToUInt32(IFormatProvider)

Converte questo valore in UInt32.

IConvertible.ToUInt64(IFormatProvider)

Converte questo valore in UInt64.

IJavaPeerable.Disposed()

La Double classe esegue il wrapping di un valore del tipo double primitivo in un oggetto .

(Ereditato da JavaObject)
IJavaPeerable.Finalized()

La Double classe esegue il wrapping di un valore del tipo double primitivo in un oggetto .

(Ereditato da JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

La Double classe esegue il wrapping di un valore del tipo double primitivo in un oggetto .

(Ereditato da JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

La Double classe esegue il wrapping di un valore del tipo double primitivo in un oggetto .

(Ereditato da JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

La Double classe esegue il wrapping di un valore del tipo double primitivo in un oggetto .

(Ereditato da JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

La Double classe esegue il wrapping di un valore del tipo double primitivo in un oggetto .

(Ereditato da JavaObject)
IJavaPeerable.UnregisterFromRuntime()

La Double classe esegue il wrapping di un valore del tipo double primitivo in un oggetto .

Metodi di estensione

Nome Descrizione
GetJniTypeName(IJavaPeerable)

Ottiene il nome JNI del tipo dell'istanza selfdi .

JavaAs<TResult>(IJavaPeerable)

Provare a digitare selfTResult, verificando che la coercizione sia valida sul lato Java.

JavaCast<TResult>(IJavaObject)

Esegue una conversione del tipo di tipo controllato dal runtime Android.

JavaCast<TResult>(IJavaObject)

La Double classe esegue il wrapping di un valore del tipo double primitivo in un oggetto .

TryJavaCast<TResult>(IJavaPeerable, TResult)

Provare a digitare selfTResult, verificando che la coercizione sia valida sul lato Java.

Si applica a