Double Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
La Double clase ajusta un valor del tipo double primitivo en un objeto .
[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
- Herencia
- Atributos
- Implementaciones
Comentarios
La Double clase ajusta un valor del tipo double primitivo en un objeto . Un objeto de tipo Double contiene un único campo cuyo tipo es double.
Además, esta clase proporciona varios métodos para convertir un double objeto en String y en , Stringdoubleasí como otras constantes y métodos útiles al tratar con .double
<-- Android quitado: párrafo en ValueBased
Se trata de una clase basada en valores ; Los programadores deben tratar las instancias que son #equals(Object) iguales que intercambiables y no deben usar instancias para la sincronización o puede producirse un comportamiento impredecible. Por ejemplo, en una versión futura, es posible que se produzca un error en la sincronización. -->
<h2>equivalenciaRelation>Igualdad de punto flotante, Equivalencia y Comparación</h2>
Los valores de punto flotante IEEE 754 incluyen valores finitos distintos de cero, ceros con signo (+0.0 y -0.0), las infinidades con signo Double#POSITIVE_INFINITY infinito positivo y Double#NEGATIVE_INFINITY infinito negativo) y Double#NaN NaN (not-a-number).
Una <relación>< de equivalencia em>en un conjunto de valores es una relación booleana en pares de valores que son reflexivos, simétricos y transitivos. Para obtener más información sobre las relaciones de equivalencia y la igualdad de objetos, vea la Object#equals Object.equals especificación . Una relación de equivalencia divide los valores en los que opera en conjuntos denominados clases de equivalencia. Todos los miembros de la clase de equivalencia son iguales entre sí en la relación. Una clase de equivalencia solo puede contener un solo miembro. Al menos para algunos propósitos, todos los miembros de una clase de equivalencia se sustituyen entre sí. En concreto, en una expresión numérica los valores equivalentes se <pueden sustituir>/em<> entre sí sin cambiar el resultado de la expresión, lo que significa cambiar la clase de equivalencia del resultado de la expresión.
En particular, la operación integrada en == valores de punto flotante es <em>not</em> una relación de equivalencia. A pesar de no definir una relación de equivalencia, la semántica del operador IEEE 754 == se diseñó deliberadamente para satisfacer otras necesidades de cálculo numérico. Hay dos excepciones en las que los valores de punto flotante no cumplen == las propiedades de una relación de equivalencia:
<ul>
<li>Si v1 y v2 son NaN, v1 == v2 entonces tiene el valor false. Por lo tanto, para dos argumentos NaN la <propiedad em>reflexive</em> de una relación de equivalencia es <em>not</em> satisfecho por el == operador.
<li>Si v1 representa mientras +0.0 representa v2-0.0, o viceversa, v1 == v2 tiene el valor true aunque +0.0 y -0.0 se puedan distinguir en varias operaciones de punto flotante. Por ejemplo, 1.0/+0.0 se evalúa como infinito positivo mientras 1.0/-0.0 se evalúa como <infinito>negativo</em> e infinito positivo e infinito negativo no son iguales entre sí ni equivalentes entre sí. Por lo tanto, mientras que una entrada cero firmada normalmente determina el signo de un resultado cero, debido a la división por cero, +0.0 y -0.0 puede no sustituirse entre sí en general. El signo de una entrada cero también tiene un efecto no reemplazable en el resultado de algunos métodos de biblioteca matemática.
</ul>
Para las comparaciones ordenadas que usan los operadores de comparación integrados (<, <=, etc.), los valores naN tienen otra situación anómala: una naN no es menor que, ni mayor que, ni igual que ningún valor, incluido en sí mismo. Esto significa que la tricotomía de la comparación no contiene <em></em>.
Para proporcionar la semántica adecuada para equals los métodos y compareTo , esos métodos no pueden ser simplemente contenedores alrededor == de operaciones de comparación ordenadas o . En su lugar, Double#equals equals define argumentos NaN para que sean iguales entre sí y define +0.0 para <em>not</em> igual a -0.0, restaurando la reflexividad. Para las comparaciones, Double#compareTo compareTo define un orden total donde -0.0 es menor que +0.0 y donde un NaN es igual a sí mismo y se considera mayor que infinito positivo.
La semántica operativa de equals y compareTo se expresa en términos de #doubleToLongBits convertir los valores de punto flotante en valores enteros.
La <ordenación>< natural em>implementada por #compareTo compareTo es comparable con iguales. Es decir, dos objetos se notifican como iguales si equals y solo si compareTo en esos objetos devuelven cero.
Los comportamientos ajustados definidos para equals y compareTo permiten que las instancias de clases contenedoras funcionen correctamente con estructuras de datos convencionales. Por ejemplo, la definición de valores NaN entre equals sí permite que NaN se use como elemento de o java.util.HashSet HashSet como clave de .java.util.HashMap HashMap De forma similar, definir compareTo como un orden total, incluido +0.0, -0.0y NaN, permite usar instancias de clases contenedoras como elementos de o java.util.SortedSet SortedSet como claves de .java.util.SortedMap SortedMap
Agregado en la versión 1.0.
Documentación de Java para java.lang.Double.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.
Constructores
| Nombre | Description |
|---|---|
| Double(Double) |
Construye un objeto recién asignado |
| Double(String) |
Construye un objeto recién asignado |
Campos
| Nombre | Description |
|---|---|
| Bytes |
Número de bytes usados para representar un |
| MaxExponent |
El exponente máximo de una variable finita |
| MaxValue |
Constante que contiene el mayor valor finito positivo de tipo |
| MinExponent |
Es posible que tenga un exponente mínimo de una variable normalizada |
| MinNormal |
Constante que contiene el valor normal positivo más pequeño de tipo |
| MinValue |
Constante que contiene el menor valor positivo distinto de cero de tipo , 2 |
| NaN |
Constante que contiene un valor Not-a-Number (NaN) de tipo |
| NegativeInfinity |
Constante que contiene el infinito negativo del tipo |
| PositiveInfinity |
Constante que contiene el infinito positivo del tipo |
| Precision |
Número de bits en el significado de un |
| Size |
Número de bits que se usan para representar un |
Propiedades
| Nombre | Description |
|---|---|
| Class |
Devuelve la clase en tiempo de ejecución de este |
| Handle |
Identificador de la instancia de Android subyacente. (Heredado de Object) |
| IsInfinite |
Devuelve |
| IsNaN |
Devuelve |
| JniIdentityHashCode |
Obtiene el código hash de identidad asignado a este Java del mismo nivel por el tiempo de ejecución de interoperabilidad. (Heredado de Object) |
| JniManagedPeerState |
La |
| JniPeerMembers |
Obtiene los metadatos de JNI usados para invocar miembros de este Java del mismo nivel. |
| PeerReference |
Obtiene la referencia de objeto JNI para este Java del mismo nivel. (Heredado de Object) |
| ThresholdClass |
Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código. (Heredado de Number) |
| ThresholdType |
Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código. (Heredado de Number) |
| Type |
Instancia |
Métodos
| Nombre | Description |
|---|---|
| ByteValue() |
Devuelve el valor del número especificado como . |
| Clone() |
Crea y devuelve una copia de este objeto. (Heredado de Object) |
| Compare(Double, Double) |
Compara los dos valores especificados |
| CompareTo(Double) |
Compara dos |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
La |
| Dispose() |
Libera los recursos mantenidos por este Java del mismo nivel. (Heredado de Object) |
| Dispose(Boolean) |
Libera los recursos mantenidos por este Java del mismo nivel. (Heredado de Object) |
| DisposeUnlessReferenced() |
La |
| DoubleToLongBits(Double) |
Devuelve una representación del valor de punto flotante especificado según el diseño de bits "formato doble" de punto flotante IEEE 754. |
| DoubleToRawLongBits(Double) |
Devuelve una representación del valor de punto flotante especificado según el diseño de bits de punto flotante "formato doble" de IEEE 754, conservando los valores No a-Número (NaN). |
| DoubleValue() |
Devuelve el |
| Equals(Object) |
La |
| Equals(Object) |
Indica si algún otro objeto es "igual a" este. (Heredado de Object) |
| FloatValue() |
Devuelve el valor de esto |
| GetHashCode() |
Devuelve un valor de código hash del objeto. (Heredado de Object) |
| HashCode(Double) |
Devuelve un código hash para un |
| IntValue() |
Devuelve el valor de este |
| InvokeIsInfinite(Double) |
Devuelve |
| InvokeIsNaN(Double) |
Devuelve |
| IsFinite(Double) |
Devuelve |
| JavaFinalize() |
Obsoletos.
Lo llama el recolector de elementos no utilizados en un objeto cuando la recolección de elementos no utilizados determina que no hay más referencias al objeto . (Heredado de Object) |
| LongBitsToDouble(Int64) |
Devuelve el |
| LongValue() |
Devuelve el valor de esto |
| Max(Double, Double) |
Devuelve el mayor de dos |
| Min(Double, Double) |
Devuelve el menor de dos |
| Notify() |
Activa un único subproceso que está esperando en el monitor de este objeto. (Heredado de Object) |
| NotifyAll() |
Activa todos los subprocesos que están esperando en el monitor de este objeto. (Heredado de Object) |
| ParseDouble(String) |
Devuelve un nuevo |
| SetHandle(IntPtr, JniHandleOwnership) |
Establece la propiedad Handle. (Heredado de Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
La |
| ShortValue() |
Devuelve el valor del número especificado como . |
| Sum(Double, Double) |
Agrega dos |
| ToArray<T>() |
Crea una matriz administrada a partir de este contenedor de matriz Java. (Heredado de Object) |
| ToHexString(Double) |
Devuelve una representación de cadena hexadecimal del |
| ToString() |
Devuelve una representación de cadena del objeto. (Heredado de Object) |
| ToString(Double) |
Devuelve una representación de cadena del |
| UnregisterFromRuntime() |
Anula el registro de este Java del mismo nivel del tiempo de ejecución de interoperabilidad. (Heredado de Object) |
| ValueOf(Double) |
Devuelve una |
| ValueOf(String) |
Devuelve un |
| Wait() |
Hace que el subproceso actual espere hasta que se despierta, normalmente por ser em notificado/em< o >em<interrumpido>/em<.><> (Heredado de Object) |
| Wait(Int64, Int32) |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real. (Heredado de Object) |
| Wait(Int64) |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real. (Heredado de Object) |
Operadores
| Nombre | Description |
|---|---|
| Explicit(Double to Double) |
Convierte el valor especificado |
Implementaciones de interfaz explícitas
| Nombre | Description |
|---|---|
| IComparable.CompareTo(Object) |
Compara este valor con el objeto especificado para ordenar. |
| IConvertible.GetTypeCode() |
Devuelve el código de tipo para este valor. |
| IConvertible.ToBoolean(IFormatProvider) |
Convierte este valor en |
| IConvertible.ToByte(IFormatProvider) |
Convierte este valor en |
| IConvertible.ToChar(IFormatProvider) |
Convierte este valor en |
| IConvertible.ToDateTime(IFormatProvider) |
La conversión a |
| IConvertible.ToDecimal(IFormatProvider) |
Convierte este valor en |
| IConvertible.ToDouble(IFormatProvider) |
Convierte este valor en |
| IConvertible.ToInt16(IFormatProvider) |
Convierte este valor en |
| IConvertible.ToInt32(IFormatProvider) |
Convierte este valor en |
| IConvertible.ToInt64(IFormatProvider) |
Convierte este valor en |
| IConvertible.ToSByte(IFormatProvider) |
Convierte este valor en |
| IConvertible.ToSingle(IFormatProvider) |
Convierte este valor en |
| IConvertible.ToString(IFormatProvider) |
Convierte este valor en |
| IConvertible.ToType(Type, IFormatProvider) |
Convierte este valor en el tipo especificado por |
| IConvertible.ToUInt16(IFormatProvider) |
Convierte este valor en |
| IConvertible.ToUInt32(IFormatProvider) |
Convierte este valor en |
| IConvertible.ToUInt64(IFormatProvider) |
Convierte este valor en |
| IJavaPeerable.Disposed() |
La |
| IJavaPeerable.Finalized() |
La |
| IJavaPeerable.JniObjectReferenceControlBlock |
La |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
La |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
La |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
La |
| IJavaPeerable.UnregisterFromRuntime() |
La |
Métodos de extensión
| Nombre | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtiene el nombre JNI del tipo de la instancia |
| JavaAs<TResult>(IJavaPeerable) |
Intente coerción |
| JavaCast<TResult>(IJavaObject) |
Realiza una conversión de tipos comprobados en tiempo de ejecución de Android. |
| JavaCast<TResult>(IJavaObject) |
La |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Intente coerción |