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.Parse (Método) (String)

Convierte la representación en forma de cadena de un número en el número de punto flotante de precisión doble equivalente.

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

public static double Parse(
	string s
)

Parámetros

s
Tipo: System.String
Cadena que contiene un número que se va a convertir.

Valor devuelto

Tipo: System.Double
Número de punto flotante de precisión doble equivalente al valor numérico o símbolo especificado en s.

ExcepciónCondición
ArgumentNullException

s es null.

FormatException

s no representa un número con un formato válido.

OverflowException

s representa un número menor que MinValue o mayor que MaxValue.

El parámetro s puede contener las propiedades NumberFormatInfo.PositiveInfinitySymbol, NumberFormatInfo.NegativeInfinitySymbol o NumberFormatInfo.NaNSymbol de la referencia cultural actual o una cadena con el formato:

[eb][signo][dígitos enteros[,]]dígitos enteros[.[dígitos fraccionarios]][E[signo]dígitos exponenciales][eb]

Los elementos entre corchetes ([ y ]) son opcionales. En la tabla siguiente se describe cada elemento.

Elemento

Descripción

eb

Serie de caracteres de espacio en blanco.

sign

Un símbolo de signo negativo (-) o positivo (+). Sólo puede usarse un signo inicial.

dígitos enteros

Serie de dígitos comprendidos del 0 al 9 que especifican la parte entera del número. Las series de dígitos enteros pueden estar divididas por un símbolo separador de grupos. Por ejemplo, en algunas referencias culturales la coma (,) separa los millares. El elemento dígitos enteros pueden no estar presentes si la cadena contiene el elemento dígitos fraccionarios.

,

Símbolo separador de miles específico de la referencia cultural.

.

Símbolo separador de decimales específico de la referencia cultural.

dígitos fraccionarios

Serie de dígitos comprendidos del 0 al 9 que especifican la parte fraccionaria del número.

E

El carácter "e" o "E", que indica que el valor se representa en notación exponencial (científica).

dígitos exponenciales

Serie de dígitos comprendidos del 0 al 9 que especifican un exponente.

El parámetro s se interpreta utilizando una combinación de las marcas NumberStyles.AllowThousands y NumberStyles.Float. Esto significa que se permiten espacios en blanco y separadores de miles, por ejemplo, pero no símbolos de divisa. Para obtener un mayor control sobre los elementos de estilo que se permiten en s para que la operación de análisis se realice correctamente, llame al método Double.Parse(String, NumberStyles) o Double.Parse(String, NumberStyles, IFormatProvider).

El parámetro s se interpreta usando la información de formato de un objeto NumberFormatInfo que se inicializa para la referencia cultural actual del subproceso. Para obtener más información, vea CurrentInfo. Para analizar una cadena mediante la información de formato de alguna otra referencia cultural, llame al método Double.Parse(String, IFormatProvider) o Double.Parse(String, NumberStyles, IFormatProvider).

Normalmente, si se pasa al método Double.Parse una cadena creada mediante una llamada al método Double.ToString, se devuelve el valor Double original. Sin embargo, debido a una pérdida de precisión, es posible que los valores no sean iguales. Además, si se intenta analizar la representación de cadena de MinValue o MaxValue, se producirá una excepción OverflowException, tal y como se muestra en el siguiente ejemplo.


   string value;

   value = Double.MinValue.ToString();
   try {
      Console.WriteLine(Double.Parse(value));
   }   
   catch (OverflowException) {
      Console.WriteLine("{0} is outside the range of the Double type.",
                        value);
   }

   value = Double.MaxValue.ToString();
   try {
      Console.WriteLine(Double.Parse(value));
   }
   catch (OverflowException) {
      Console.WriteLine("{0} is outside the range of the Double type.",
                        value);
   }
// The example displays the following output:
//    -1.79769313486232E+308 is outside the range of the Double type.
//    1.79769313486232E+308 is outside the range of the Double type.


Si, durante una operación de análisis, se encuentra un separador en el parámetro s y los separadores aplicables de divisa, número decimal y grupo son iguales, la operación de análisis supone que se trata de un separador decimal en lugar de un separador de grupo. Para obtener más información sobre separadores, vea CurrencyDecimalSeparator, NumberDecimalSeparator, CurrencyGroupSeparator y NumberGroupSeparator.

En el ejemplo siguiente se muestra el uso del método Parse(String).


	public class Temperature {
		// Parses the temperature from a string in form
		// [ws][sign]digits['F|'C][ws]
		public static Temperature Parse(string s) {
			Temperature temp = new Temperature();

			if( s.TrimEnd(null).EndsWith("'F") ) {
				temp.Value = Double.Parse( s.Remove(s.LastIndexOf('\''), 2) );
			}
			else if( s.TrimEnd(null).EndsWith("'C") ) {
				temp.Celsius = Double.Parse( s.Remove(s.LastIndexOf('\''), 2) );
			}
			else {
				temp.Value = Double.Parse(s);
			}

			return temp;
		}

		// The value holder
		protected double m_value;

		public double Value {
			get {
				return m_value;
			}
			set {
				m_value = value;
			}
		}

		public double Celsius {
			get {
				return (m_value-32.0)/1.8;
			}
			set {
				m_value = 1.8*value+32.0;
			}
		}
	}


.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

Biblioteca de clases portable

Compatible con: Biblioteca de clases portable

.NET para aplicaciones de la Tienda Windows

Compatible con: Windows 8

.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