Double Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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.
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(String) |
Costruisce un oggetto appena allocato |
Campi
| Nome | Descrizione |
|---|---|
| Bytes |
Numero di byte utilizzati per rappresentare un |
| MaxExponent |
L'esponente massimo di una variabile finita |
| MaxValue |
Costante che contiene il valore finito positivo più grande di tipo |
| MinExponent |
L'esponente minimo di una variabile normalizzata |
| MinNormal |
Costante che contiene il valore normale positivo più piccolo di tipo |
| MinValue |
Costante che contiene il valore minimo positivo diverso da zero di tipo , 2 |
| NaN |
Costante che contiene un valore Not-a-Number (NaN) di tipo |
| NegativeInfinity |
Costante che contiene l'infinito negativo di tipo |
| PositiveInfinity |
Costante che contiene l'infinito positivo di tipo |
| Precision |
Numero di bit nel significando di un |
| Size |
Numero di bit utilizzati per rappresentare un |
Proprietà
| Nome | Descrizione |
|---|---|
| Class |
Restituisce la classe di runtime di questo |
| Handle |
Handle per l'istanza di Android sottostante. (Ereditato da Object) |
| IsInfinite |
Restituisce |
| IsNaN |
Restituisce |
| JniIdentityHashCode |
Ottiene il codice hash di identità assegnato a questo Java peer dal runtime di interoperabilità. (Ereditato da Object) |
| JniManagedPeerState |
La |
| 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 |
|
Metodi
| Nome | Descrizione |
|---|---|
| ByteValue() |
Restituisce il valore del numero specificato come . |
| Clone() |
Crea e restituisce una copia di questo oggetto. (Ereditato da Object) |
| Compare(Double, Double) |
Confronta i due valori specificati |
| CompareTo(Double) |
Confronta due |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
La |
| 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 |
| 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 |
| Equals(Object) |
La |
| Equals(Object) |
Indica se un altro oggetto è "uguale a" questo. (Ereditato da Object) |
| FloatValue() |
Restituisce il valore di questo |
| GetHashCode() |
Restituisce un valore di codice hash per l'oggetto . (Ereditato da Object) |
| HashCode(Double) |
Restituisce un codice hash per un |
| IntValue() |
Restituisce il valore di questo |
| InvokeIsInfinite(Double) |
Restituisce |
| InvokeIsNaN(Double) |
Restituisce |
| IsFinite(Double) |
Restituisce |
| 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 |
| LongValue() |
Restituisce il valore di questo |
| Max(Double, Double) |
Restituisce il valore maggiore di due |
| Min(Double, Double) |
Restituisce il più piccolo di due |
| 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 |
| SetHandle(IntPtr, JniHandleOwnership) |
Imposta la proprietà Handle. (Ereditato da Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
La |
| ShortValue() |
Restituisce il valore del numero specificato come . |
| Sum(Double, Double) |
Aggiunge due |
| 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 |
| ToString() |
Restituisce una rappresentazione di stringa dell'oggetto . (Ereditato da Object) |
| ToString(Double) |
Restituisce una rappresentazione di stringa dell'argomento |
| UnregisterFromRuntime() |
Annulla la registrazione di questo Java peer dal runtime di interoperabilità. (Ereditato da Object) |
| ValueOf(Double) |
Restituisce un'istanza |
| ValueOf(String) |
Restituisce un |
| 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 |
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 |
| IConvertible.ToByte(IFormatProvider) |
Converte questo valore in |
| IConvertible.ToChar(IFormatProvider) |
Converte questo valore in |
| IConvertible.ToDateTime(IFormatProvider) |
La conversione in |
| IConvertible.ToDecimal(IFormatProvider) |
Converte questo valore in |
| IConvertible.ToDouble(IFormatProvider) |
Converte questo valore in |
| IConvertible.ToInt16(IFormatProvider) |
Converte questo valore in |
| IConvertible.ToInt32(IFormatProvider) |
Converte questo valore in |
| IConvertible.ToInt64(IFormatProvider) |
Converte questo valore in |
| IConvertible.ToSByte(IFormatProvider) |
Converte questo valore in |
| IConvertible.ToSingle(IFormatProvider) |
Converte questo valore in |
| IConvertible.ToString(IFormatProvider) |
Converte questo valore in |
| IConvertible.ToType(Type, IFormatProvider) |
Converte questo valore nel tipo specificato da |
| IConvertible.ToUInt16(IFormatProvider) |
Converte questo valore in |
| IConvertible.ToUInt32(IFormatProvider) |
Converte questo valore in |
| IConvertible.ToUInt64(IFormatProvider) |
Converte questo valore in |
| IJavaPeerable.Disposed() |
La |
| IJavaPeerable.Finalized() |
La |
| IJavaPeerable.JniObjectReferenceControlBlock |
La |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
La |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
La |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
La |
| IJavaPeerable.UnregisterFromRuntime() |
La |
Metodi di estensione
| Nome | Descrizione |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Ottiene il nome JNI del tipo dell'istanza |
| JavaAs<TResult>(IJavaPeerable) |
Provare a digitare |
| JavaCast<TResult>(IJavaObject) |
Esegue una conversione del tipo di tipo controllato dal runtime Android. |
| JavaCast<TResult>(IJavaObject) |
La |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Provare a digitare |