Single.Parse Single.Parse Single.Parse Single.Parse Method

Definición

Convierte la representación en forma de cadena de un número en el número de punto flotante de precisión sencilla equivalente.Converts the string representation of a number to its single-precision floating-point number equivalent.

Sobrecargas

Parse(String, NumberStyles, IFormatProvider) Parse(String, NumberStyles, IFormatProvider) Parse(String, NumberStyles, IFormatProvider) Parse(String, NumberStyles, IFormatProvider)

Convierte la representación en forma de cadena de un número con un estilo y un formato específico de la referencia cultural especificados en el número de punto flotante de precisión sencilla equivalente.Converts the string representation of a number in a specified style and culture-specific format to its single-precision floating-point number equivalent.

Parse(String, IFormatProvider) Parse(String, IFormatProvider) Parse(String, IFormatProvider) Parse(String, IFormatProvider)

Convierte la representación en forma de cadena de un número con un formato específico de la referencia cultural especificado en el número de punto flotante de precisión sencilla equivalente.Converts the string representation of a number in a specified culture-specific format to its single-precision floating-point number equivalent.

Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider) Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider) Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider)
Parse(String) Parse(String) Parse(String) Parse(String)

Convierte la representación en forma de cadena de un número en el número de punto flotante de precisión sencilla equivalente.Converts the string representation of a number to its single-precision floating-point number equivalent.

Parse(String, NumberStyles) Parse(String, NumberStyles) Parse(String, NumberStyles) Parse(String, NumberStyles)

Convierte la representación en forma de cadena de un número con un estilo especificado en el número de punto flotante de precisión sencilla equivalente.Converts the string representation of a number in a specified style to its single-precision floating-point number equivalent.

Parse(String, NumberStyles, IFormatProvider) Parse(String, NumberStyles, IFormatProvider) Parse(String, NumberStyles, IFormatProvider) Parse(String, NumberStyles, IFormatProvider)

Convierte la representación en forma de cadena de un número con un estilo y un formato específico de la referencia cultural especificados en el número de punto flotante de precisión sencilla equivalente.Converts the string representation of a number in a specified style and culture-specific format to its single-precision floating-point number equivalent.

public:
 static float Parse(System::String ^ s, System::Globalization::NumberStyles style, IFormatProvider ^ provider);
public static float Parse (string s, System.Globalization.NumberStyles style, IFormatProvider provider);
static member Parse : string * System.Globalization.NumberStyles * IFormatProvider -> single
Public Shared Function Parse (s As String, style As NumberStyles, provider As IFormatProvider) As Single

Parámetros

s
String String String String

Cadena que contiene un número que se va a convertir.A string that contains a number to convert.

style
NumberStyles NumberStyles NumberStyles NumberStyles

Combinación bit a bit de los valores de enumeración que indica los elementos de estilo que pueden estar presentes en s.A bitwise combination of enumeration values that indicates the style elements that can be present in s. Un valor que se especifica de forma habitual es Float combinado con AllowThousands.A typical value to specify is Float combined with AllowThousands.

provider
IFormatProvider IFormatProvider IFormatProvider IFormatProvider

Objeto que proporciona información de formato específica de la referencia cultural acerca de s.An object that supplies culture-specific formatting information about s.

Devoluciones

Número de punto flotante de precisión sencilla equivalente al valor numérico o símbolo especificado en s.A single-precision floating-point number equivalent to the numeric value or symbol specified in s.

Excepciones

s no representa un valor numérico.s does not represent a numeric value.

style no es un valor NumberStyles.style is not a NumberStyles value.

O bien-or- style es el valor AllowHexSpecifier.style is the AllowHexSpecifier value.

s representa un número menor que MinValue o mayor que MaxValue.s represents a number that is less than MinValue or greater than MaxValue.

Ejemplos

En el ejemplo de código siguiente Parse(String, NumberStyles, IFormatProvider) se usa el método para analizar las Single representaciones de cadena de los valores.The following code example uses the Parse(String, NumberStyles, IFormatProvider) method to parse the string representations of Single values. Cada cadena de una matriz se analiza mediante las convenciones de formato de en-US, nl-NL y una referencia cultural personalizada.Each string in an array is parsed using the formatting conventions of the en-US, nl-NL, and a custom culture. La referencia cultural personalizada define su símbolo de separador de grupos como el carácter de subrayado ("") y su tamaño de grupo como dos.The custom culture defines its group separator symbol as the underscore ("") and its group size as two.

using System;
using System.Globalization;

public class Example
{
    public static void Main()
    {
      // Define an array of string values.
      string[] values = { " 987.654E-2", " 987,654E-2",  "(98765,43210)", 
                          "9,876,543.210", "9.876.543,210",  "98_76_54_32,19" };
      // Create a custom culture based on the invariant culture.
      CultureInfo ci = new CultureInfo("");
      ci.NumberFormat.NumberGroupSizes = new int[] { 2 };
      ci.NumberFormat.NumberGroupSeparator = "_";
      
      // Define an array of format providers.
      CultureInfo[] providers = { new CultureInfo("en-US"),
                                  new CultureInfo("nl-NL"), ci };       
      
      // Define an array of styles.
      NumberStyles[] styles = { NumberStyles.Currency, NumberStyles.Float };
      
      // Iterate the array of format providers.
      foreach (CultureInfo provider in providers)
      {
         Console.WriteLine("Parsing using the {0} culture:", 
                           provider.Name == String.Empty ? "Invariant" : provider.Name);
         // Parse each element in the array of string values.
         foreach (string value in values)
         {
            foreach (NumberStyles style in styles)
            {
               try {
                  float number = Single.Parse(value, style, provider);            
                  Console.WriteLine("   {0} ({1}) -> {2}", 
                                    value, style, number);
               }
               catch (FormatException) {
                  Console.WriteLine("   '{0}' is invalid using {1}.", value, style);
               }
               catch (OverflowException) {
                  Console.WriteLine("   '{0}' is out of the range of a Single.", value);
               } 
            }            
         }         
         Console.WriteLine();
      }
   }   
} 
// The example displays the following output:
//       Parsing using the en-US culture:
//       The format of // 987.654E-2// is invalid.
//       The format of // 987,654E-2// is invalid.
//       (98765,43210) (Currency) -> -9.876543E+09
//       9,876,543.210 (Currency) -> 9876543
//       The format of '9.876.543,210// is invalid.
//       The format of '98_76_54_32,19// is invalid.
//       
//       Parsing using the nl-NL culture:
//       The format of // 987.654E-2// is invalid.
//       The format of // 987,654E-2// is invalid.
//       (98765,43210) (Currency) -> -98765.43
//       The format of '9,876,543.210// is invalid.
//       9.876.543,210 (Currency) -> 9876543
//       The format of '98_76_54_32,19// is invalid.
//       
//       Parsing using the Invariant culture:
//       The format of // 987.654E-2// is invalid.
//       The format of // 987,654E-2// is invalid.
//       (98765,43210) (Currency) -> -9.876543E+09
//       9,876,543.210 (Currency) -> 9876543
//       The format of '9.876.543,210// is invalid.
//       98_76_54_32,19 (Currency) -> 9.876543E+09
Imports System.Globalization

Module Example
    Public Sub Main()
      ' Define an array of string values.
      Dim values() As String = { " 987.654E-2", " 987,654E-2", _
                                 "(98765,43210)", "9,876,543.210",  _
                                 "9.876.543,210",  "98_76_54_32,19" }
      ' Create a custom culture based on the invariant culture.
      Dim ci As New CultureInfo("")
      ci.NumberFormat.NumberGroupSizes = New Integer() { 2 }
      ci.NumberFormat.NumberGroupSeparator = "_"
      
      ' Define an array of format providers.
      Dim providers() As CultureInfo = { New CultureInfo("en-US"), _
                                             New CultureInfo("nl-NL"), ci }       
      
      ' Define an array of styles.
      Dim styles() As NumberStyles = { NumberStyles.Currency, NumberStyles.Float }
      
      ' Iterate the array of format providers.
      For Each provider As CultureInfo In providers
         Console.WriteLine("Parsing using the {0} culture:", _
                           If(provider.Name = String.Empty, "Invariant", provider.Name))
         ' Parse each element in the array of string values.
         For Each value As String In values
            For Each style As NumberStyles In styles
               Try
                  Dim number As Single = Single.Parse(value, style, provider)            
                  Console.WriteLine("   {0} ({1}) -> {2}", _
                                    value, style, number)
               Catch e As FormatException
                  Console.WriteLine("   '{0}' is invalid using {1}.", value, style)            
               Catch e As OverflowException
                  Console.WriteLine("   '{0}' is out of the range of a Single.", value)
               End Try 
            Next            
         Next         
         Console.WriteLine()
      Next
   End Sub   
End Module 
' The example displays the following output:
'       Parsing using the en-US culture:
'          ' 987.654E-2' is invalid using Currency.
'           987.654E-2 (Float) -> 9.87654
'          ' 987,654E-2' is invalid using Currency.
'          ' 987,654E-2' is invalid using Float.
'          (98765,43210) (Currency) -> -9.876543E+09
'          '(98765,43210)' is invalid using Float.
'          9,876,543.210 (Currency) -> 9876543
'          '9,876,543.210' is invalid using Float.
'          '9.876.543,210' is invalid using Currency.
'          '9.876.543,210' is invalid using Float.
'          '98_76_54_32,19' is invalid using Currency.
'          '98_76_54_32,19' is invalid using Float.
'       
'       Parsing using the nl-NL culture:
'          ' 987.654E-2' is invalid using Currency.
'          ' 987.654E-2' is invalid using Float.
'          ' 987,654E-2' is invalid using Currency.
'           987,654E-2 (Float) -> 9.87654
'          (98765,43210) (Currency) -> -98765.43
'          '(98765,43210)' is invalid using Float.
'          '9,876,543.210' is invalid using Currency.
'          '9,876,543.210' is invalid using Float.
'          9.876.543,210 (Currency) -> 9876543
'          '9.876.543,210' is invalid using Float.
'          '98_76_54_32,19' is invalid using Currency.
'          '98_76_54_32,19' is invalid using Float.
'       
'       Parsing using the Invariant culture:
'          ' 987.654E-2' is invalid using Currency.
'           987.654E-2 (Float) -> 9.87654
'          ' 987,654E-2' is invalid using Currency.
'          ' 987,654E-2' is invalid using Float.
'          (98765,43210) (Currency) -> -9.876543E+09
'          '(98765,43210)' is invalid using Float.
'          9,876,543.210 (Currency) -> 9876543
'          '9,876,543.210' is invalid using Float.
'          '9.876.543,210' is invalid using Currency.
'          '9.876.543,210' is invalid using Float.
'          98_76_54_32,19 (Currency) -> 9.876543E+09
'          '98_76_54_32,19' is invalid using Float.

Comentarios

El style parámetro define los elementos de estilo (como el espacio en blanco, los separadores de miles y los símbolos de moneda s ) que se permiten en el parámetro para que la operación de análisis se realice correctamente.The style parameter defines the style elements (such as white space, thousands separators, and currency symbols) that are allowed in the s parameter for the parse operation to succeed. Debe ser una combinación de marcas de bits de la NumberStyles enumeración.It must be a combination of bit flags from the NumberStyles enumeration. No se NumberStyles admiten los siguientes miembros:The following NumberStyles members are not supported:

El s parámetro puede contener NumberFormatInfo.PositiveInfinitySymbol, NumberFormatInfo.NegativeInfinitySymbol providero NumberFormatInfo.NaNSymbol para la referencia cultural especificada por.The s parameter can contain NumberFormatInfo.PositiveInfinitySymbol, NumberFormatInfo.NegativeInfinitySymbol, or NumberFormatInfo.NaNSymbol for the culture specified by provider. Dependiendo del valor de style, también puede adoptar la forma:Depending on the value of style, it can also take the form:

[ws] [$] [sign][integral-digits,]integral-digits[.[fractional-digits]][E[sign]exponential-digits][ws][ws] [$] [sign][integral-digits,]integral-digits[.[fractional-digits]][E[sign]exponential-digits][ws]

Los elementos enmarcados entre corchetes ([y]) son opcionales.Elements framed in square brackets ([ and ]) are optional. En esta tabla se describe cada elemento.The following table describes each element.

ElementoElement DescripciónDescription
wsws Una serie de caracteres de espacio en blanco.A series of white-space characters. Puede aparecer un espacio en blanco al principio s de style si incluye NumberStyles.AllowLeadingWhite la marca y puede aparecer al final de s si style incluye la NumberStyles.AllowTrailingWhite marca.White space can appear at the beginning of s if style includes the NumberStyles.AllowLeadingWhite flag, and it can appear at the end of s if style includes the NumberStyles.AllowTrailingWhite flag.
$ Un símbolo de divisa específico de la referencia cultural.A culture-specific currency symbol. Su posición en la cadena se define mediante las NumberFormatInfo.CurrencyNegativePattern propiedades NumberFormatInfo.CurrencyPositivePattern y de la referencia cultural actual.Its position in the string is defined by the NumberFormatInfo.CurrencyNegativePattern and NumberFormatInfo.CurrencyPositivePattern properties of the current culture. El símbolo de divisa de la referencia cultural actual s puede style aparecer en NumberStyles.AllowCurrencySymbol si incluye la marca.The current culture's currency symbol can appear in s if style includes the NumberStyles.AllowCurrencySymbol flag.
signsign Un símbolo de signo negativo (-) o un símbolo de signo positivo (+).A negative sign symbol (-) or a positive sign symbol (+). El signo puede aparecer al principio de s si style incluye la NumberStyles.AllowLeadingSign marca y puede aparecer al final de s si style incluye la NumberStyles.AllowTrailingSign marca.The sign can appear at the beginning of s if style includes the NumberStyles.AllowLeadingSign flag, and it can appear at the end of s if style includes the NumberStyles.AllowTrailingSign flag. Los paréntesis se pueden usar en s para indicar un valor negativo si style incluye la NumberStyles.AllowParentheses marca.Parentheses can be used in s to indicate a negative value if style includes the NumberStyles.AllowParentheses flag.
integral-digitsintegral-digits Serie de dígitos que van del 0 al 9 que especifican la parte entera del número.A series of digits ranging from 0 to 9 that specify the integral part of the number. El elemento de dígitos enteros puede estar ausente si la cadena contiene el elemento de dígitos fraccionarios .The integral-digits element can be absent if the string contains the fractional-digits element.
,, Un separador de grupos específico de la referencia cultural.A culture-specific group separator. El símbolo del separador de grupos de la referencia s cultural style actual puede NumberStyles.AllowThousands aparecer en si incluye la marcaThe current culture's group separator symbol can appear in s if style includes the NumberStyles.AllowThousands flag
.. Un símbolo de separador decimal específico de la referencia cultural.A culture-specific decimal point symbol. El símbolo de separador decimal de la referencia s cultural style actual puede NumberStyles.AllowDecimalPoint aparecer en si incluye la marca.The current culture's decimal point symbol can appear in s if style includes the NumberStyles.AllowDecimalPoint flag.
fractional-digitsfractional-digits Serie de dígitos que van del 0 al 9 que especifican la parte fraccionaria del número.A series of digits ranging from 0 to 9 that specify the fractional part of the number. Los dígitos fraccionarios pueden aparecer s en style si incluye NumberStyles.AllowDecimalPoint la marca.Fractional digits can appear in s if style includes the NumberStyles.AllowDecimalPoint flag.
EE El carácter "e" o "E", que indica que el valor se representa en notación exponencial (científica).The "e" or "E" character, which indicates that the value is represented in exponential (scientific) notation. El s parámetro puede representar un número en notación exponencial si style incluye la NumberStyles.AllowExponent marca.The s parameter can represent a number in exponential notation if style includes the NumberStyles.AllowExponent flag.
exponential-digitsexponential-digits Serie de dígitos que van del 0 al 9 que especifican un exponente.A series of digits ranging from 0 to 9 that specify an exponent.

Nota

Los caracteres NUL de terminación (U + 0000) s de se omiten en la operación de análisis, independientemente del valor style del argumento.Any terminating NUL (U+0000) characters in s are ignored by the parsing operation, regardless of the value of the style argument.

Una cadena solo con dígitos (que corresponde al NumberStyles.None estilo) siempre se analiza correctamente.A string with digits only (which corresponds to the NumberStyles.None style) always parses successfully. Los miembros System.Globalization.NumberStyles restantes controlan los elementos que pueden estar presentes, pero que no es necesario que estén presentes, en la cadena de entrada.The remaining System.Globalization.NumberStyles members control elements that may be present, but are not required to be present, in the input string. En la tabla siguiente se indica NumberStyles cómo afectan las marcas individuales a los elementos que spueden estar presentes en.The following table indicates how individual NumberStyles flags affect the elements that may be present in s.

Valor NumberStylesNumberStyles value Elementos permitidos s en además de dígitosElements permitted in s in addition to digits
None Solo el elemento de dígitos enteros .The integral-digits element only.
AllowDecimalPoint Los elementos de separador decimal (.) y dígitos fraccionarios .The decimal point (.) and fractional-digits elements.
AllowExponent El carácter "e" o "E", que indica la notación exponencial.The "e" or "E" character, which indicates exponential notation. Este marcador por sí solo admite valores con el formato dígitosEdígitos; se necesitan marcas adicionales para analizar correctamente las cadenas con tales elementos como signos positivos o negativos y símbolos de separador decimal.This flag by itself supports values in the form digitsEdigits; additional flags are needed to successfully parse strings with such elements as positive or negative signs and decimal point symbols.
AllowLeadingWhite Elemento WS al principio de s.The ws element at the beginning of s.
AllowTrailingWhite Elemento WS al final de s.The ws element at the end of s.
AllowLeadingSign Elemento de signo situado al principio de s.The sign element at the beginning of s.
AllowTrailingSign El elemento Sign al final de s.The sign element at the end of s.
AllowParentheses El elemento Sign en el formato de paréntesis que rodea el valor numérico.The sign element in the form of parentheses enclosing the numeric value.
AllowThousands El elemento separador de miles (,).The thousands separator (,) element.
AllowCurrencySymbol El elemento Currency ($).The currency ($) element.
Currency Todos los elementos.All elements. Sin embargo s , no puede representar un número hexadecimal o un número en notación exponencial.However, s cannot represent a hexadecimal number or a number in exponential notation.
Float El elemento WS al principio o al final de s, Sign al principio de sy el símbolo de separador decimal (.).The ws element at the beginning or end of s, sign at the beginning of s, and the decimal point (.) symbol. El s parámetro también puede usar la notación exponencial.The s parameter can also use exponential notation.
Number Los wselementos sign,, separador de miles (,) y separador decimal (.).The ws, sign, thousands separator (,) and decimal point (.) elements.
Any Todos los elementos.All elements. Sin embargo s , no puede representar un número hexadecimal.However, s cannot represent a hexadecimal number.

El provider parámetro es una IFormatProvider implementación de.The provider parameter is an IFormatProvider implementation. Su GetFormat método devuelve un NumberFormatInfo objeto que proporciona información específica de la referencia cultural acerca del valueformato de.Its GetFormat method returns a NumberFormatInfo object that provides culture-specific information about the format of value. Normalmente, provider puede ser cualquiera de los siguientes:Typically, provider can be any one of the following:

Si provider NumberFormatInfo es null, se usa el objeto de la referencia cultural actual.If provider is null, the NumberFormatInfo object for the current culture is used.

Si se encuentra un separador en s el parámetro durante una operación de análisis, y los separadores de moneda o de número decimal y de grupo correspondientes son iguales, la operación de análisis supone que el separador es un separador decimal en lugar de un grupo. separador.If a separator is encountered in the s parameter during a parse operation, and the applicable currency or number decimal and group separators are the same, the parse operation assumes that the separator is a decimal separator rather than a group separator. Para obtener más información acerca de los separadores CurrencyGroupSeparator, vea NumberGroupSeparator CurrencyDecimalSeparator, NumberDecimalSeparator, y.For more information about separators, see CurrencyDecimalSeparator, NumberDecimalSeparator, CurrencyGroupSeparator, and NumberGroupSeparator.

Consulte también:

Parse(String, IFormatProvider) Parse(String, IFormatProvider) Parse(String, IFormatProvider) Parse(String, IFormatProvider)

Convierte la representación en forma de cadena de un número con un formato específico de la referencia cultural especificado en el número de punto flotante de precisión sencilla equivalente.Converts the string representation of a number in a specified culture-specific format to its single-precision floating-point number equivalent.

public:
 static float Parse(System::String ^ s, IFormatProvider ^ provider);
public static float Parse (string s, IFormatProvider provider);
static member Parse : string * IFormatProvider -> single
Public Shared Function Parse (s As String, provider As IFormatProvider) As Single

Parámetros

s
String String String String

Cadena que contiene un número que se va a convertir.A string that contains a number to convert.

provider
IFormatProvider IFormatProvider IFormatProvider IFormatProvider

Objeto que proporciona información de formato específica de la referencia cultural acerca de s.An object that supplies culture-specific formatting information about s.

Devoluciones

Número de punto flotante de precisión sencilla equivalente al valor numérico o símbolo especificado en s.A single-precision floating-point number equivalent to the numeric value or symbol specified in s.

Excepciones

s no representa un número con un formato válido.s does not represent a number in a valid format.

s representa un número menor que MinValue o mayor que MaxValue.s represents a number less than MinValue or greater than MaxValue.

Ejemplos

El ejemplo siguiente es el controlador de eventos de clic de botón de un formulario Web Forms.The following example is the button click event handler of a Web form. Usa la matriz devuelta por la HttpRequest.UserLanguages propiedad para determinar la configuración regional del usuario.It uses the array returned by the HttpRequest.UserLanguages property to determine the user's locale. A continuación, crea una CultureInfo instancia de un objeto que corresponde a esa configuración regional.It then instantiates a CultureInfo object that corresponds to that locale. A NumberFormatInfo continuación, el objeto que CultureInfo pertenece a ese objeto Parse(String, IFormatProvider) se pasa al método para convertir la entrada del usuario en Single un valor.The NumberFormatInfo object that belongs to that CultureInfo object is then passed to the Parse(String, IFormatProvider) method to convert the user's input to a Single value.

protected void OkToSingle_Click(object sender, EventArgs e)
{
   string locale;
   float number;
   CultureInfo culture; 

   // Return if string is empty
   if (String.IsNullOrEmpty(this.inputNumber.Text))
      return;

   // Get locale of web request to determine possible format of number
   if (Request.UserLanguages.Length == 0)
      return;
   locale = Request.UserLanguages[0];
   if (String.IsNullOrEmpty(locale))
      return; 

   // Instantiate CultureInfo object for the user's locale
   culture = new CultureInfo(locale);
   
   // Convert user input from a string to a number
   try
   {
      number = Single.Parse(this.inputNumber.Text, culture.NumberFormat);
   }
   catch (FormatException)
   {
      return;
   }
   catch (Exception)
   {
      return;
   }
   // Output number to label on web form
   this.outputNumber.Text = "Number is " + number.ToString();
}
Protected Sub OkToSingle_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles OkToSingle.Click
   Dim locale As String
   Dim culture As CultureInfo
   Dim number As Single

   ' Return if string is empty
   If String.IsNullOrEmpty(Me.inputNumber.Text) Then Exit Sub

   ' Get locale of web request to determine possible format of number
   If Request.UserLanguages.Length = 0 Then Exit Sub
   locale = Request.UserLanguages(0)
   If String.IsNullOrEmpty(locale) Then Exit Sub

   ' Instantiate CultureInfo object for the user's locale
   culture = New CultureInfo(locale)

   ' Convert user input from a string to a number
   Try
      number = Single.Parse(Me.inputNumber.Text, culture.NumberFormat)
   Catch ex As FormatException
      Exit Sub
   Catch ex As OverflowException
      Exit Sub
   End Try

   ' Output number to label on web form
   Me.outputNumber.Text = "Number is " & number.ToString()
End Sub

Comentarios

Esta sobrecarga normalmente se utiliza para convertir texto al que se puede dar formato de varias maneras a un Single valor.This overload is typically used to convert text that can be formatted in a variety of ways to a Single value. Por ejemplo, se puede usar para convertir el texto escrito por un usuario en un cuadro de texto HTML en un valor numérico.For example, it can be used to convert the text entered by a user into an HTML text box to a numeric value.

El s parámetro se interpreta utilizando una combinación de las NumberStyles.Float marcas NumberStyles.AllowThousands y.The s parameter is interpreted using a combination of the NumberStyles.Float and NumberStyles.AllowThousands flags. El s parámetro puede contener NumberFormatInfo.PositiveInfinitySymbol, NumberFormatInfo.NegativeInfinitySymbol providero NumberFormatInfo.NaNSymbol para la referencia cultural especificada por, o puede contener una cadena con el formato:The s parameter can contain NumberFormatInfo.PositiveInfinitySymbol, NumberFormatInfo.NegativeInfinitySymbol, or NumberFormatInfo.NaNSymbol for the culture specified by provider, or it can contain a string of the form:

[WS] [signo] dígitos enteros [. [dígitos fraccionarios]] [E [signo]dígitos exponenciales] [WS][ws][sign]integral-digits[.[fractional-digits]][E[sign]exponential-digits][ws]

Los elementos opcionales se enmarcan entre corchetes ([y]).Optional elements are framed in square brackets ([ and ]). Los elementos que contienen el término "dígitos" se componen de una serie de caracteres numéricos comprendidos entre 0 y 9.Elements that contain the term "digits" consist of a series of numeric characters ranging from 0 to 9.

ElementoElement DescripciónDescription
wsws Una serie de caracteres de espacio en blanco.A series of white-space characters.
signsign Un símbolo de signo negativo (-) o un símbolo de signo positivo (+).A negative sign symbol (-) or a positive sign symbol (+).
integral-digitsintegral-digits Serie de dígitos que van del 0 al 9 que especifican la parte entera del número.A series of digits ranging from 0 to 9 that specify the integral part of the number. Las ejecuciones de dígitos enteros se pueden particionar mediante un símbolo de separador de grupo.Runs of integral-digits can be partitioned by a group-separator symbol. Por ejemplo, en algunas referencias culturales, una coma (,) separa grupos de miles.For example, in some cultures a comma (,) separates groups of thousands. El elemento de dígitos enteros puede estar ausente si la cadena contiene el elemento de dígitos fraccionarios .The integral-digits element can be absent if the string contains the fractional-digits element.
.. Un símbolo de separador decimal específico de la referencia cultural.A culture-specific decimal point symbol.
fractional-digitsfractional-digits Serie de dígitos que van del 0 al 9 que especifican la parte fraccionaria del número.A series of digits ranging from 0 to 9 that specify the fractional part of the number.
EE El carácter "e" o "E", que indica que el valor se representa en notación exponencial (científica).The "e" or "E" character, which indicates that the value is represented in exponential (scientific) notation.
exponential-digitsexponential-digits Serie de dígitos que van del 0 al 9 que especifican un exponente.A series of digits ranging from 0 to 9 that specify an exponent.

Para obtener más información sobre los formatos numéricos, vea el tema aplicar formato a tipos .For more information about numeric formats, see the Formatting Types topic.

El provider parámetro es una IFormatProvider implementación de GetFormat cuyo método devuelve NumberFormatInfo un objeto que proporciona información de formato específica de la referencia cultural.The provider parameter is an IFormatProvider implementation whose GetFormat method returns a NumberFormatInfo object that provides culture-specific formatting information. Cuando se Parse(String, IFormatProvider) invoca el método, llama al provider método del GetFormat parámetro y le pasa un Type objeto que representa el NumberFormatInfo tipo.When the Parse(String, IFormatProvider) method is invoked, it calls the provider parameter's GetFormat method and passes it a Type object that represents the NumberFormatInfo type. Después GetFormat , el método devuelve NumberFormatInfo el objeto que proporciona información s sobre el formato del parámetro.The GetFormat method then returns the NumberFormatInfo object that provides information about the format of the s parameter. Hay tres maneras de usar el provider parámetro para proporcionar información de formato personalizada a la operación de análisis:There are three ways to use the provider parameter to supply custom formatting information to the parse operation:

  • Puede pasar un CultureInfo objeto que represente la referencia cultural que proporciona información de formato.You can pass a CultureInfo object that represents the culture that supplies formatting information. Su GetFormat método devuelve el NumberFormatInfo objeto que proporciona información de formato numérico para esa referencia cultural.Its GetFormat method returns the NumberFormatInfo object that provides numeric formatting information for that culture.

  • Puede pasar el objeto real NumberFormatInfo que proporciona información de formato numérico.You can pass the actual NumberFormatInfo object that provides numeric formatting information. (Su implementación de GetFormat simplemente se devuelve).(Its implementation of GetFormat just returns itself.)

  • Puede pasar un objeto personalizado que implementa IFormatProvider.You can pass a custom object that implements IFormatProvider. Su GetFormat método crea una instancia de y NumberFormatInfo devuelve el objeto que proporciona información de formato.Its GetFormat method instantiates and returns the NumberFormatInfo object that provides formatting information.

Si provider es null oNumberFormatInfo no se puede obtener, se usa la información de formato de la referencia cultural del sistema actual.If provider is null or a NumberFormatInfo cannot be obtained, the formatting information for the current system culture is used.

Si se encuentra un separador en s el parámetro durante una operación de análisis, y los separadores de moneda o de número decimal y de grupo correspondientes son iguales, la operación de análisis supone que el separador es un separador decimal en lugar de un grupo. separador.If a separator is encountered in the s parameter during a parse operation, and the applicable currency or number decimal and group separators are the same, the parse operation assumes that the separator is a decimal separator rather than a group separator. Para obtener más información acerca de los separadores CurrencyGroupSeparator, vea NumberGroupSeparator CurrencyDecimalSeparator, NumberDecimalSeparator, y.For more information about separators, see CurrencyDecimalSeparator, NumberDecimalSeparator, CurrencyGroupSeparator, and NumberGroupSeparator.

Algunos ejemplos de s son "100", "-123.456.789", "123,45 e + 6", "+ 500", "5E2", "3,1416", "600", "-. 123" y "-Infinity".Some examples of s are "100", "-123,456,789", "123.45e+6", "+500", "5e2", "3.1416", "600.", "-.123", and "-Infinity".

Consulte también:

Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider) Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider) Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider)

public static float Parse (ReadOnlySpan<char> s, System.Globalization.NumberStyles style = System.Globalization.NumberStyles.AllowDecimalPoint | System.Globalization.NumberStyles.AllowExponent | System.Globalization.NumberStyles.AllowLeadingSign | System.Globalization.NumberStyles.AllowLeadingWhite | System.Globalization.NumberStyles.AllowThousands | System.Globalization.NumberStyles.AllowTrailingWhite | System.Globalization.NumberStyles.Float | System.Globalization.NumberStyles.Integer, IFormatProvider provider = null);
static member Parse : ReadOnlySpan<char> * System.Globalization.NumberStyles * IFormatProvider -> single
Public Shared Function Parse (s As ReadOnlySpan(Of Char), Optional style As NumberStyles = System.Globalization.NumberStyles.AllowDecimalPoint | System.Globalization.NumberStyles.AllowExponent | System.Globalization.NumberStyles.AllowLeadingSign | System.Globalization.NumberStyles.AllowLeadingWhite | System.Globalization.NumberStyles.AllowThousands | System.Globalization.NumberStyles.AllowTrailingWhite | System.Globalization.NumberStyles.Float | System.Globalization.NumberStyles.Integer, Optional provider As IFormatProvider = null) As Single

Parámetros

Devoluciones

Parse(String) Parse(String) Parse(String) Parse(String)

Convierte la representación en forma de cadena de un número en el número de punto flotante de precisión sencilla equivalente.Converts the string representation of a number to its single-precision floating-point number equivalent.

public:
 static float Parse(System::String ^ s);
public static float Parse (string s);
static member Parse : string -> single
Public Shared Function Parse (s As String) As Single

Parámetros

s
String String String String

Cadena que contiene un número que se va a convertir.A string that contains a number to convert.

Devoluciones

Número de punto flotante de precisión sencilla equivalente al valor numérico o símbolo especificado en s.A single-precision floating-point number equivalent to the numeric value or symbol specified in s.

Excepciones

s no representa un número con un formato válido.s does not represent a number in a valid format.

s representa un número menor que MinValue o mayor que MaxValue.s represents a number less than MinValue or greater than MaxValue.

Ejemplos

En el ejemplo siguiente se Parse(String) usa el método para convertir una matriz de cadenas Single en valores equivalentes.The following example uses the Parse(String) method to convert an array of strings to equivalent Single values.

using System;

public class Example
{
   public static void Main()
   {
      string[] values = { "100", "(100)", "-123,456,789", "123.45e+6", 
                          "+500", "5e2", "3.1416", "600.", "-.123", 
                          "-Infinity", "-1E-16", Double.MaxValue.ToString(), 
                          Single.MinValue.ToString(), String.Empty };
      foreach (string value in values)
      {
         try {   
            float number = Single.Parse(value);
            Console.WriteLine("{0} -> {1}", value, number);
         }
         catch (FormatException) {
            Console.WriteLine("'{0}' is not in a valid format.", value);
         }
         catch (OverflowException) {
            Console.WriteLine("{0} is outside the range of a Single.", value);
         }
      }                                  
   }
}
// The example displays the following output:
//       100 -> 100
//       '(100)' is not in a valid format.
//       -123,456,789 -> -1.234568E+08
//       123.45e+6 -> 1.2345E+08
//       +500 -> 500
//       5e2 -> 500
//       3.1416 -> 3.1416
//       600. -> 600
//       -.123 -> -0.123
//       -Infinity -> -Infinity
//       -1E-16 -> -1E-16
//       1.79769313486232E+308 is outside the range of a Single.
//       -3.402823E+38 -> -3.402823E+38
//       '' is not in a valid format.
Module Example
   Public Sub Main()
      Dim values() As String = { "100", "(100)", "-123,456,789", "123.45e+6", _
                                 "+500", "5e2", "3.1416", "600.", "-.123", _
                                 "-Infinity", "-1E-16", Double.MaxValue.ToString(), _
                                 Single.MinValue.ToString(), String.Empty }
      For Each value As String In values
         Try   
            Dim number As Single = Single.Parse(value)
            Console.WriteLine("{0} -> {1}", value, number)
         Catch e As FormatException
            Console.WriteLine("'{0}' is not in a valid format.", value)
         Catch e As OverflowException
            Console.WriteLine("{0} is outside the range of a Single.", value)
         End Try
      Next                                  
   End Sub
End Module
' The example displays the following output:
'       100 -> 100
'       '(100)' is not in a valid format.
'       -123,456,789 -> -1.234568E+08
'       123.45e+6 -> 1.2345E+08
'       +500 -> 500
'       5e2 -> 500
'       3.1416 -> 3.1416
'       600. -> 600
'       -.123 -> -0.123
'       -Infinity -> -Infinity
'       -1E-16 -> -1E-16
'       1.79769313486232E+308 is outside the range of a Single.
'       -3.402823E+38 -> -3.402823E+38
'       '' is not in a valid format.

Comentarios

El s parámetro puede contener la PositiveInfinitySymbolreferencia cultural actual, NegativeInfinitySymbol NaNSymbol, o una cadena con el formato:The s parameter can contain the current culture's PositiveInfinitySymbol, NegativeInfinitySymbol, NaNSymbol, or a string of the form:

[ws][sign] [integral-digits[,]]integral-digits[.[fractional-digits]][e[sign]exponential-digits][ws][ws][sign] [integral-digits[,]]integral-digits[.[fractional-digits]][e[sign]exponential-digits][ws]

Los elementos de los corchetes ([ y ]) son opcionales.Elements in square brackets ([ and ]) are optional. En esta tabla se describe cada elemento.The following table describes each element.

ElementoElement DescripciónDescription
wsws Serie de caracteres de espacio en blanco.A series of white space characters.
signsign Un símbolo de signo negativo o un símbolo de signo positivo.A negative sign symbol or a positive sign symbol. Los caracteres de signo válidos se NumberFormatInfo.NegativeSign determinan mediante las propiedades y NumberFormatInfo.PositiveSign de la referencia cultural actual.Valid sign characters are determined by the NumberFormatInfo.NegativeSign and NumberFormatInfo.PositiveSign properties of the current culture. Solo se puede usar un signo inicial.Only a leading sign can be used.
integral-digitsintegral-digits Serie de dígitos que van del 0 al 9 que especifican la parte entera del número.A series of digits ranging from 0 to 9 that specify the integral part of the number. Las ejecuciones de dígitos enteros se pueden particionar mediante un símbolo de separador de grupo.Runs of integral-digits can be partitioned by a group-separator symbol. Por ejemplo, en algunas referencias culturales, una coma (,) separa grupos de miles.For example, in some cultures a comma (,) separates groups of thousands. El elemento de dígitos enteros puede estar ausente si la cadena contiene el elemento de dígitos fraccionarios .The integral-digits element can be absent if the string contains the fractional-digits element.
,, Un símbolo de separador de miles específico de la referencia cultural.A culture-specific thousands separator symbol.
.. Un símbolo de separador decimal específico de la referencia cultural.A culture-specific decimal point symbol.
fractional-digitsfractional-digits Serie de dígitos que van del 0 al 9 que especifican la parte fraccionaria del número.A series of digits ranging from 0 to 9 that specify the fractional part of the number.
EE El carácter "e" o "E", que indica que el valor se representa en notación exponencial (científica).The "e" or "E" character, which indicates that the value is represented in exponential (scientific) notation.
exponential-digitsexponential-digits Serie de dígitos que van del 0 al 9 que especifican un exponente.A series of digits ranging from 0 to 9 that specify an exponent.

El s parámetro se interpreta utilizando una combinación de las NumberStyles.Float marcas NumberStyles.AllowThousands y.The s parameter is interpreted using a combination of the NumberStyles.Float and NumberStyles.AllowThousands flags. Esto significa que los espacios en blanco y los separadores de miles están permitidos, pero no los símbolos de moneda.This means that white space and thousands separators are allowed but currency symbols are not. Para definir explícitamente los elementos (como los símbolos de moneda, los separadores de miles y los espacios en blanco s) que pueden Parse(String, NumberStyles) estar presentes en, utilice la sobrecarga del método.To explicitly define the elements (such as currency symbols, thousands separators, and white space) that can be present in s, use the Parse(String, NumberStyles) method overload.

El s parámetro se analiza utilizando la información de formato de un NumberFormatInfo objeto que se inicializa para la referencia cultural del sistema actual.The s parameter is parsed by using the formatting information in a NumberFormatInfo object that is initialized for the current system culture. Para obtener más información, vea CurrentInfo.For more information, see CurrentInfo. Para analizar una cadena utilizando la información de formato de una referencia cultural concreta, use Parse(String, IFormatProvider) el Parse(String, NumberStyles, IFormatProvider) método o.To parse a string by using the formatting information of a specific culture, use the Parse(String, IFormatProvider) or Parse(String, NumberStyles, IFormatProvider) method.

Normalmente, si se pasa al Parse método una cadena que se crea ToString llamando al método, se devuelve el valor Single original.Ordinarily, if you pass the Parse method a string that is created by calling the ToString method, the original Single value is returned. Sin embargo, debido a una pérdida de precisión, es posible que los valores no sean iguales.However, because of a loss of precision, the values may not be equal.

Si se encuentra un separador en s el parámetro durante una operación de análisis, y los separadores de moneda o de número decimal y de grupo correspondientes son iguales, la operación de análisis supone que el separador es un separador decimal en lugar de un grupo. separador.If a separator is encountered in the s parameter during a parse operation, and the applicable currency or number decimal and group separators are the same, the parse operation assumes that the separator is a decimal separator rather than a group separator. Para obtener más información acerca de los separadores CurrencyGroupSeparator, vea NumberGroupSeparator CurrencyDecimalSeparator, NumberDecimalSeparator, y.For more information about separators, see CurrencyDecimalSeparator, NumberDecimalSeparator, CurrencyGroupSeparator, and NumberGroupSeparator.

Consulte también:

Parse(String, NumberStyles) Parse(String, NumberStyles) Parse(String, NumberStyles) Parse(String, NumberStyles)

Convierte la representación en forma de cadena de un número con un estilo especificado en el número de punto flotante de precisión sencilla equivalente.Converts the string representation of a number in a specified style to its single-precision floating-point number equivalent.

public:
 static float Parse(System::String ^ s, System::Globalization::NumberStyles style);
public static float Parse (string s, System.Globalization.NumberStyles style);
static member Parse : string * System.Globalization.NumberStyles -> single
Public Shared Function Parse (s As String, style As NumberStyles) As Single

Parámetros

s
String String String String

Cadena que contiene un número que se va a convertir.A string that contains a number to convert.

style
NumberStyles NumberStyles NumberStyles NumberStyles

Combinación bit a bit de los valores de enumeración que indica los elementos de estilo que pueden estar presentes en s.A bitwise combination of enumeration values that indicates the style elements that can be present in s. Un valor que se especifica de forma habitual es Float combinado con AllowThousands.A typical value to specify is Float combined with AllowThousands.

Devoluciones

Número de punto flotante de precisión sencilla equivalente al valor numérico o símbolo especificado en s.A single-precision floating-point number that is equivalent to the numeric value or symbol specified in s.

Excepciones

s no es un número con un formato válido.s is not a number in a valid format.

s representa un número menor que MinValue o mayor que MaxValue.s represents a number that is less than MinValue or greater than MaxValue.

style no es un valor NumberStyles.style is not a NumberStyles value.

O bien-or- style incluye el valor AllowHexSpecifierstyle includes the AllowHexSpecifier value.

Ejemplos

En el ejemplo siguiente se Parse(String, NumberStyles) usa el método para analizar las representaciones Single de cadena de los valores.The following example uses the Parse(String, NumberStyles) method to parse the string representations of Single values. En el ejemplo se usa la información de formato de la referencia cultural en-US.The example uses formatting information for the en-US culture.

using System;
using System.Globalization;
using System.Threading;

public class ParseString
{
   public static void Main()
   {
      // Set current thread culture to en-US.
      Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("en-US");
      
      string value;
      NumberStyles styles;
      
      // Parse a string in exponential notation with only the AllowExponent flag. 
      value = "-1.063E-02";
      styles = NumberStyles.AllowExponent;
      ShowNumericValue(value, styles);
      
      // Parse a string in exponential notation
      // with the AllowExponent and Number flags.
      styles = NumberStyles.AllowExponent | NumberStyles.Number;
      ShowNumericValue(value, styles);

      // Parse a currency value with leading and trailing white space, and
      // white space after the U.S. currency symbol.
      value = " $ 6,164.3299  ";
      styles = NumberStyles.Number | NumberStyles.AllowCurrencySymbol;
      ShowNumericValue(value, styles);
      
      // Parse negative value with thousands separator and decimal.
      value = "(4,320.64)";
      styles = NumberStyles.AllowParentheses | NumberStyles.AllowTrailingSign |
               NumberStyles.Float; 
      ShowNumericValue(value, styles);
      
      styles = NumberStyles.AllowParentheses | NumberStyles.AllowTrailingSign |
               NumberStyles.Float | NumberStyles.AllowThousands;
      ShowNumericValue(value, styles);
   }

   private static void ShowNumericValue(string value, NumberStyles styles)
   {
      Single number;
      try
      {
         number = Single.Parse(value, styles);
         Console.WriteLine("Converted '{0}' using {1} to {2}.", 
                           value, styles.ToString(), number);
      }
      catch (FormatException)
      {
         Console.WriteLine("Unable to parse '{0}' with styles {1}.", 
                           value, styles.ToString());
      }
      Console.WriteLine();                           
   }   
}
// The example displays the following output to the console:
//    Unable to parse '-1.063E-02' with styles AllowExponent.
//    
//    Converted '-1.063E-02' using AllowTrailingSign, AllowThousands, Float to -0.01063.
//    
//    Converted ' $ 6,164.3299  ' using Number, AllowCurrencySymbol to 6164.3299.
//    
//    Unable to parse '(4,320.64)' with styles AllowTrailingSign, AllowParentheses, Float.
//    
//    Converted '(4,320.64)' using AllowTrailingSign, AllowParentheses, AllowThousands, Float to -4320.64.   
Imports System.Globalization
Imports System.Threading

Module ParseStrings
   Public Sub Main()
      ' Set current thread culture to en-US.
      Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("en-US")
            
      Dim value As String
      Dim styles As NumberStyles
      
      ' Parse a string in exponential notation with only the AllowExponent flag. 
      value = "-1.063E-02"
      styles = NumberStyles.AllowExponent
      ShowNumericValue(value, styles) 
      
      ' Parse a string in exponential notation
      ' with the AllowExponent and Number flags.
      styles = NumberStyles.AllowExponent Or NumberStyles.Number
      ShowNumericValue(value, styles)

      ' Parse a currency value with leading and trailing white space, and
      ' white space after the U.S. currency symbol.
      value = " $ 6,164.3299  "
      styles = NumberStyles.Number Or NumberStyles.AllowCurrencySymbol
      ShowNumericValue(value, styles)
      
      ' Parse negative value with thousands separator and decimal.
      value = "(4,320.64)"
      styles = NumberStyles.AllowParentheses Or NumberStyles.AllowTrailingSign _
               Or NumberStyles.Float 
      ShowNumericValue(value, styles)
      
      styles = NumberStyles.AllowParentheses Or NumberStyles.AllowTrailingSign _
               Or NumberStyles.Float Or NumberStyles.AllowThousands
      ShowNumericValue(value, styles)
   End Sub
   
   Private Sub ShowNumericValue(value As String, styles As NumberStyles)
      Dim number As Single
      Try
         number = Single.Parse(value, styles)
         Console.WriteLine("Converted '{0}' using {1} to {2}.", _
                           value, styles.ToString(), number)
      Catch e As FormatException
         Console.WriteLine("Unable to parse '{0}' with styles {1}.", _
                           value, styles.ToString())
      End Try
      Console.WriteLine()                           
   End Sub
End Module
' The example displays the following output to the console:
'    Unable to parse '-1.063E-02' with styles AllowExponent.
'    
'    Converted '-1.063E-02' using AllowTrailingSign, AllowThousands, Float to -0.01063.
'    
'    Converted ' $ 6,164.3299  ' using Number, AllowCurrencySymbol to 6164.3299.
'    
'    Unable to parse '(4,320.64)' with styles AllowTrailingSign, AllowParentheses, Float.
'    
'    Converted '(4,320.64)' using AllowTrailingSign, AllowParentheses, AllowThousands, Float to -4320.64.   

Comentarios

El style parámetro define los elementos de estilo (como el espacio en blanco, los separadores de miles y los símbolos de moneda s ) que se permiten en el parámetro para que la operación de análisis se realice correctamente.The style parameter defines the style elements (such as white space, thousands separators, and currency symbols) that are allowed in the s parameter for the parse operation to succeed. Debe ser una combinación de marcas de bits de la NumberStyles enumeración.It must be a combination of bit flags from the NumberStyles enumeration. No se NumberStyles admiten los siguientes miembros:The following NumberStyles members are not supported:

El s parámetro puede contener la PositiveInfinitySymbolreferencia cultural actual, NegativeInfinitySymbol, NaNSymbol.The s parameter can contain the current culture's PositiveInfinitySymbol, NegativeInfinitySymbol, NaNSymbol. Dependiendo del valor de style, también puede adoptar la forma:Depending on the value of style, it can also take the form:

[ws][$][sign][integral-digits[,]]integral-digits[.[fractional-digits]][E[sign]exponential-digits][ws][ws][$][sign][integral-digits[,]]integral-digits[.[fractional-digits]][E[sign]exponential-digits][ws]

Los elementos de los corchetes ([ y ]) son opcionales.Elements in square brackets ([ and ]) are optional. En esta tabla se describe cada elemento.The following table describes each element.

wsws
Una serie de caracteres de espacio en blanco.A series of white-space characters. Puede aparecer un espacio en blanco al principio s de style si incluye NumberStyles.AllowLeadingWhite la marca y puede aparecer al final de s si style incluye la NumberStyles.AllowTrailingWhite marca.White space can appear at the beginning of s if style includes the NumberStyles.AllowLeadingWhite flag, and it can appear at the end of s if style includes the NumberStyles.AllowTrailingWhite flag.

$
Un símbolo de divisa específico de la referencia cultural.A culture-specific currency symbol. Su posición en la cadena se define mediante las NumberFormatInfo.CurrencyNegativePattern propiedades NumberFormatInfo.CurrencyPositivePattern y de la referencia cultural actual.Its position in the string is defined by the NumberFormatInfo.CurrencyNegativePattern and NumberFormatInfo.CurrencyPositivePattern properties of the current culture. El símbolo de divisa de la referencia cultural actual s puede style aparecer en NumberStyles.AllowCurrencySymbol si incluye la marca.The current culture's currency symbol can appear in s if style includes the NumberStyles.AllowCurrencySymbol flag.

signsign
Un símbolo de signo negativo (-) o un símbolo de signo positivo (+).A negative sign symbol (-) or a positive sign symbol (+). El signo puede aparecer al principio de s si style incluye la NumberStyles.AllowLeadingSign marca y puede aparecer al final de s si style incluye la NumberStyles.AllowTrailingSign marca.The sign can appear at the beginning of s if style includes the NumberStyles.AllowLeadingSign flag, and it can appear at the end of s if style includes the NumberStyles.AllowTrailingSign flag. Los paréntesis se pueden usar en s para indicar un valor negativo si style incluye la NumberStyles.AllowParentheses marca.Parentheses can be used in s to indicate a negative value if style includes the NumberStyles.AllowParentheses flag.

integral-digitsintegral-digits
Serie de dígitos que van del 0 al 9 que especifican la parte entera del número.A series of digits ranging from 0 to 9 that specify the integral part of the number. El elemento de dígitos enteros puede estar ausente si la cadena contiene el elemento de dígitos fraccionarios .The integral-digits element can be absent if the string contains the fractional-digits element.

,,
Un separador de grupos específico de la referencia cultural.A culture-specific group separator. El símbolo del separador de grupos de la referencia s cultural style actual puede NumberStyles.AllowThousands aparecer en si incluye la marcaThe current culture's group separator symbol can appear in s if style includes the NumberStyles.AllowThousands flag

..
Un símbolo de separador decimal específico de la referencia cultural.A culture-specific decimal point symbol. El símbolo de separador decimal de la referencia s cultural style actual puede NumberStyles.AllowDecimalPoint aparecer en si incluye la marca.The current culture's decimal point symbol can appear in s if style includes the NumberStyles.AllowDecimalPoint flag.

fractional-digitsfractional-digits
Serie de dígitos que van del 0 al 9 que especifican la parte fraccionaria del número.A series of digits ranging from 0 to 9 that specify the fractional part of the number. Los dígitos fraccionarios pueden aparecer s en style si incluye NumberStyles.AllowDecimalPoint la marca.Fractional digits can appear in s if style includes the NumberStyles.AllowDecimalPoint flag.

EE
El carácter "e" o "E", que indica que el valor se representa en notación exponencial (científica).The "e" or "E" character, which indicates that the value is represented in exponential (scientific) notation. El value parámetro puede representar un número en notación exponencial si style incluye la NumberStyles.AllowExponent marca.The value parameter can represent a number in exponential notation if style includes the NumberStyles.AllowExponent flag.

exponential-digitsexponential-digits
Serie de dígitos que van del 0 al 9 que especifican un exponente.A series of digits ranging from 0 to 9 that specify an exponent.

Nota

Los caracteres NUL de terminación (U + 0000) s de se omiten en la operación de análisis, independientemente del valor style del argumento.Any terminating NUL (U+0000) characters in s are ignored by the parsing operation, regardless of the value of the style argument.

Una cadena solo con dígitos (que corresponde al NumberStyles.None estilo) siempre se analiza correctamente.A string with digits only (which corresponds to the NumberStyles.None style) always parses successfully. Los miembros System.Globalization.NumberStyles restantes controlan los elementos que pueden estar presentes, pero que no es necesario que estén presentes, en la cadena de entrada.The remaining System.Globalization.NumberStyles members control elements that may be present, but are not required to be present, in the input string. En la tabla siguiente se indica NumberStyles cómo afectan las marcas individuales a los elementos que spueden estar presentes en.The following table indicates how individual NumberStyles flags affect the elements that may be present in s.

Valor NumberStylesNumberStyles value Elementos permitidos s en además de dígitosElements permitted in s in addition to digits
None Solo el elemento de dígitos enteros .The integral-digits element only.
AllowDecimalPoint Los elementos de separador decimal (.) y dígitos fraccionarios .The decimal point (.) and fractional-digits elements.
AllowExponent El carácter "e" o "E", que indica la notación exponencial.The "e" or "E" character, which indicates exponential notation. Este marcador por sí solo admite valores con el formato dígitosEdígitos; se necesitan marcas adicionales para analizar correctamente las cadenas con tales elementos como signos positivos o negativos y símbolos de separador decimal.This flag by itself supports values in the form digitsEdigits; additional flags are needed to successfully parse strings with such elements as positive or negative signs and decimal point symbols.
AllowLeadingWhite Elemento WS al principio de s.The ws element at the beginning of s.
AllowTrailingWhite Elemento WS al final de s.The ws element at the end of s.
AllowLeadingSign Elemento de signo situado al principio de s.The sign element at the beginning of s.
AllowTrailingSign El elemento Sign al final de s.The sign element at the end of s.
AllowParentheses El elemento Sign en el formato de paréntesis que rodea el valor numérico.The sign element in the form of parentheses enclosing the numeric value.
AllowThousands El elemento separador de miles (,).The thousands separator (,) element.
AllowCurrencySymbol El elemento Currency ($).The currency ($) element.
Currency Todos los elementos.All elements. Sin embargo s , no puede representar un número hexadecimal o un número en notación exponencial.However, s cannot represent a hexadecimal number or a number in exponential notation.
Float El elemento WS al principio o al final de s, Sign al principio de sy el símbolo de separador decimal (.).The ws element at the beginning or end of s, sign at the beginning of s, and the decimal point (.) symbol. El s parámetro también puede usar la notación exponencial.The s parameter can also use exponential notation.
Number Los wselementos sign,, separador de miles (,) y separador decimal (.).The ws, sign, thousands separator (,) and decimal point (.) elements.
Any Todos los elementos.All elements. Sin embargo s , no puede representar un número hexadecimal.However, s cannot represent a hexadecimal number.

Algunos ejemplos de s son "100", "-123.456.789", "123,45 e + 6", "+ 500", "5E2", "3,1416", "600", "-. 123" y "-Infinity".Some examples of s are "100", "-123,456,789", "123.45e+6", "+500", "5e2", "3.1416", "600.", "-.123", and "-Infinity".

El s parámetro se analiza utilizando la información de formato de un NumberFormatInfo objeto que se inicializa para la referencia cultural del sistema actual.The s parameter is parsed using the formatting information in a NumberFormatInfo object that is initialized for the current system culture. Para especificar la referencia cultural cuya información de formato se utiliza para la operación de análisis Parse(String, NumberStyles, IFormatProvider) , llame a la sobrecarga.To specify the culture whose formatting information is used for the parse operation, call the Parse(String, NumberStyles, IFormatProvider) overload.

Normalmente, si se pasa al Parse método una cadena que se crea ToString llamando al método, se devuelve el valor Single original.Ordinarily, if you pass the Parse method a string that is created by calling the ToString method, the original Single value is returned. Sin embargo, debido a una pérdida de precisión, es posible que los valores no sean iguales.However, because of a loss of precision, the values may not be equal.

Si se encuentra un separador en s el parámetro durante una operación de análisis, y los separadores de moneda o de número decimal y de grupo correspondientes son iguales, la operación de análisis supone que el separador es un separador decimal en lugar de un grupo. separador.If a separator is encountered in the s parameter during a parse operation, and the applicable currency or number decimal and group separators are the same, the parse operation assumes that the separator is a decimal separator rather than a group separator. Para obtener más información acerca de los separadores CurrencyGroupSeparator, vea NumberGroupSeparator CurrencyDecimalSeparator, NumberDecimalSeparator, y.For more information about separators, see CurrencyDecimalSeparator, NumberDecimalSeparator, CurrencyGroupSeparator, and NumberGroupSeparator.

Consulte también:

Se aplica a