Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

Double.CompareTo (Método) (Object)

Compara esta instancia con un objeto especificado y devuelve un entero que indica si el valor de esta instancia es mayor, igual o menor que el valor del objeto especificado.

Espacio de nombres:  System
Ensamblado:  mscorlib (en mscorlib.dll)

public int CompareTo(
	Object value
)

Parámetros

value
Tipo: System.Object
Objeto que se va a comparar o null.

Valor devuelto

Tipo: System.Int32
Número con signo que indica los valores relativos de esta instancia y value.

Valor

Descripción

Un entero negativo

Esta instancia es menor que value.

O bien

Esta instancia no es numérica (NaN) y value es un número.

Cero

Esta instancia es igual a value.

O bien

Tanto esta instancia como este valor value son Double.NaN, PositiveInfinity o NegativeInfinity

Un entero positivo.

Esta instancia es mayor que value.

O bien

Esta instancia es numérica y este value no es numérico (NaN).

O bien

value es null.

Implementaciones

IComparable.CompareTo(Object)

ExcepciónCondición
ArgumentException

El valor de value no es Double.

El parámetro value debe ser null o una instancia de Double; en caso contrario, se produce una excepción. Cualquier instancia de Double, sea cual sea su valor, se considera mayor que null.

Los valores deben ser idénticos considerarse iguales. Determinado cuando los valores de punto flotante dependen de varias operaciones matemáticas, es frecuente que realicen la precisión y la configuración para que sea casi idéntico salvo sus menos dígitos significativos. Debido a esto, el valor devuelto del método de CompareTo puede parecer a veces sorprendente. Por ejemplo, la multiplicación por un valor concreto seguido por la división por el mismo valor debe generar el valor original. En el ejemplo siguiente, sin embargo, el valor calculado resulta ser mayor que el valor original. Mostrar todos los dígitos significativos de los dos valores usando “r” cadena de formato numérico estándar indica que el valor calculado difiere del valor original en sus menos dígitos significativos. Para obtener información sobre cómo administrar tales comparaciones, vea la sección comentarios del método de Equals(Double) .


using System;

public class Example
{
   public static void Main()
   {
       double value1 = 6.185;
       object value2 = value1 * .1 / .1;
       Console.WriteLine("Comparing {0} and {1}: {2}\n",
                         value1, value2, value1.CompareTo(value2));
       Console.WriteLine("Comparing {0:R} and {1:R}: {2}",
                         value1, value2, value1.CompareTo(value2));
   }
}
// The example displays the following output:
//       Comparing 6.185 and 6.185: -1
//       
//       Comparing 6.185 and 6.1850000000000005: -1


Este método se implementa para ser compatible con la interfaz IComparable. Observe que, aunque no se considera que un NaN sea igual que otro NaN (incluso él mismo), la interfaz IComparable requiere que A.CompareTo(A) devuelva cero.

Precisión en las comparaciones

La precisión de los números de punto flotante distinta de la precisión documentada depende específicamente de la implementación y versión de .NET Framework. En consecuencia, la comparación de dos números concretos quizá difiera entre las versiones de .NET Framework puesto que puede variar la precisión de la representación interna de los números.

En el siguiente ejemplo de código se muestra el uso de CompareTo en el contexto de Double:


obj1 = (Double)450;
		
if (a.CompareTo(obj1) < 0) 
   Console.WriteLine("{0} is less than {1}.", a.ToString(), obj1.ToString());

if (a.CompareTo(obj1) > 0) 
   Console.WriteLine("{0} is greater than {1}.", a.ToString(), obj1.ToString());

if (a.CompareTo(obj1) == 0) 
   Console.WriteLine("{0} equals {1}.", a.ToString(), obj1.ToString());


.NET Framework

Compatible con: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

.NET para aplicaciones de Windows Phone

Compatible con: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft