UInt32.Parse UInt32.Parse UInt32.Parse UInt32.Parse Method

Definição

Converte a representação de cadeia de caracteres de um número em seu inteiro sem sinal de 32 bits equivalente.Converts the string representation of a number to its 32-bit unsigned integer equivalent.

Sobrecargas

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

Converte a representação de cadeia de caracteres de um número em um formato específico à cultura e estilo especificados no seu inteiro sem sinal de 32 bits equivalente.Converts the string representation of a number in a specified style and culture-specific format to its 32-bit unsigned integer equivalent.

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

Converte a representação de cadeia de caracteres de um número em um estilo especificado em um inteiro sem sinal de 32 bits equivalente.Converts the string representation of a number in a specified style to its 32-bit unsigned integer equivalent.

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

Converte a representação de cadeia de caracteres de um número em seu inteiro sem sinal de 32 bits equivalente.Converts the string representation of a number to its 32-bit unsigned integer equivalent.

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

Converte a representação de cadeia de caracteres de um número em um formato específico à cultura especificado no seu inteiro sem sinal de 32 bits equivalente.Converts the string representation of a number in a specified culture-specific format to its 32-bit unsigned integer equivalent.

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

Importante

Esta API não está em conformidade com CLS.

Alternativa em conformidade com CLS
System.Int64.Parse(String)

Converte a representação de cadeia de caracteres de um número em um formato específico à cultura e estilo especificados no seu inteiro sem sinal de 32 bits equivalente.Converts the string representation of a number in a specified style and culture-specific format to its 32-bit unsigned integer equivalent.

public:
 static System::UInt32 Parse(System::String ^ s, System::Globalization::NumberStyles style, IFormatProvider ^ provider);
[System.CLSCompliant(false)]
public static uint Parse (string s, System.Globalization.NumberStyles style, IFormatProvider provider);
static member Parse : string * System.Globalization.NumberStyles * IFormatProvider -> uint32
Public Shared Function Parse (s As String, style As NumberStyles, provider As IFormatProvider) As UInteger

Parâmetros

s
String String String String

Uma cadeia de caracteres que representa o número a ser convertido.A string representing the number to convert. A cadeia de caracteres é interpretada usando-se o estilo especificado pelo parâmetro style.The string is interpreted by using the style specified by the style parameter.

style
NumberStyles NumberStyles NumberStyles NumberStyles

Um combinação bit a bit de valores de enumeração que indica os elementos de estilo que podem estar presentes em s.A bitwise combination of enumeration values that indicates the style elements that can be present in s. Um valor típico a ser especificado é Integer.A typical value to specify is Integer.

provider
IFormatProvider IFormatProvider IFormatProvider IFormatProvider

Um objeto que fornece informações de formatação específicas de cultura sobre s.An object that supplies culture-specific formatting information about s.

Retornos

Um inteiro sem sinal de 32 bits equivalente ao número especificado em s.A 32-bit unsigned integer equivalent to the number specified in s.

Exceções

style não é um valor NumberStyles.style is not a NumberStyles value.

- ou --or- style não é uma combinação de valores AllowHexSpecifier e HexNumber.style is not a combination of AllowHexSpecifier and HexNumber values.

s não está em um formato em conformidade com style.s is not in a format compliant with style.

s representa um número que é menor que MinValue ou maior que MaxValue.s represents a number that is less than MinValue or greater than MaxValue.

- ou --or- s inclui dígitos fracionários, diferentes de zero.s includes non-zero, fractional digits.

Exemplos

O exemplo a seguir usa o Parse(String, NumberStyles, IFormatProvider) método para converter diversas representações de cadeia de caracteres de números em valores inteiros sem sinal de 32 bits.The following example uses the Parse(String, NumberStyles, IFormatProvider) method to convert various string representations of numbers to 32-bit unsigned integer values.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      string[] cultureNames= { "en-US", "fr-FR" };
      NumberStyles[] styles= { NumberStyles.Integer,
                               NumberStyles.Integer | NumberStyles.AllowDecimalPoint };
      string[] values = { "170209", "+170209.0", "+170209,0", "-103214.00",
                                 "-103214,00", "104561.1", "104561,1" };
      
      // Parse strings using each culture
      foreach (string cultureName in cultureNames)
      {
         CultureInfo ci = new CultureInfo(cultureName);
         Console.WriteLine("Parsing strings using the {0} culture", 
                           ci.DisplayName);
         // Use each style.
         foreach (NumberStyles style in styles)
         {
            Console.WriteLine("   Style: {0}", style.ToString());
            // Parse each numeric string.
            foreach (string value in values)
            {
               try {
                  Console.WriteLine("      Converted '{0}' to {1}.", value,
                                    UInt32.Parse(value, style, ci));
               }
               catch (FormatException) {
                  Console.WriteLine("      Unable to parse '{0}'.", value);
               }      
               catch (OverflowException) {
                  Console.WriteLine("      '{0}' is out of range of the UInt32 type.",
                                    value);
               }
            }
         }
      }                                    
   }
}
// The example displays the following output:
//       Parsing strings using the English (United States) culture
//          Style: Integer
//             Converted '170209' to 170209.
//             Unable to parse '+170209.0'.
//             Unable to parse '+170209,0'.
//             Unable to parse '-103214.00'.
//             Unable to parse '-103214,00'.
//             Unable to parse '104561.1'.
//             Unable to parse '104561,1'.
//          Style: Integer, AllowDecimalPoint
//             Converted '170209' to 170209.
//             Converted '+170209.0' to 170209.
//             Unable to parse '+170209,0'.
//             '-103214.00' is out of range of the UInt32 type.
//             Unable to parse '-103214,00'.
//             '104561.1' is out of range of the UInt32 type.
//             Unable to parse '104561,1'.
//       Parsing strings using the French (France) culture
//          Style: Integer
//             Converted '170209' to 170209.
//             Unable to parse '+170209.0'.
//             Unable to parse '+170209,0'.
//             Unable to parse '-103214.00'.
//             Unable to parse '-103214,00'.
//             Unable to parse '104561.1'.
//             Unable to parse '104561,1'.
//          Style: Integer, AllowDecimalPoint
//             Converted '170209' to 170209.
//             Unable to parse '+170209.0'.
//             Converted '+170209,0' to 170209.
//             Unable to parse '-103214.00'.
//             '-103214,00' is out of range of the UInt32 type.
//             Unable to parse '104561.1'.
//             '104561,1' is out of range of the UInt32 type.
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim cultureNames() As String = { "en-US", "fr-FR" }
      Dim styles() As NumberStyles = { NumberStyles.Integer, _
                                       NumberStyles.Integer Or NumberStyles.AllowDecimalPoint }
      Dim values() As String = { "170209", "+170209.0", "+170209,0", "-103214.00", _
                                 "-103214,00", "104561.1", "104561,1" }
      
      ' Parse strings using each culture
      For Each cultureName As String In cultureNames
         Dim ci As New CultureInfo(cultureName)
         Console.WriteLine("Parsing strings using the {0} culture", ci.DisplayName)
         ' Use each style.
         For Each style As NumberStyles In styles
            Console.WriteLine("   Style: {0}", style.ToString())
            ' Parse each numeric string.
            For Each value As String In values
               Try
                  Console.WriteLine("      Converted '{0}' to {1}.", value, _
                                    UInt32.Parse(value, style, ci))
               Catch e As FormatException
                  Console.WriteLine("      Unable to parse '{0}'.", value)   
               Catch e As OverflowException
                  Console.WriteLine("      '{0}' is out of range of the UInt32 type.", _
                                    value)         
               End Try
            Next
         Next
      Next                                    
   End Sub
End Module
' The example displays the following output:
'       Parsing strings using the English (United States) culture
'          Style: Integer
'             Converted '170209' to 170209.
'             Unable to parse '+170209.0'.
'             Unable to parse '+170209,0'.
'             Unable to parse '-103214.00'.
'             Unable to parse '-103214,00'.
'             Unable to parse '104561.1'.
'             Unable to parse '104561,1'.
'          Style: Integer, AllowDecimalPoint
'             Converted '170209' to 170209.
'             Converted '+170209.0' to 170209.
'             Unable to parse '+170209,0'.
'             '-103214.00' is out of range of the UInt32 type.
'             Unable to parse '-103214,00'.
'             '104561.1' is out of range of the UInt32 type.
'             Unable to parse '104561,1'.
'       Parsing strings using the French (France) culture
'          Style: Integer
'             Converted '170209' to 170209.
'             Unable to parse '+170209.0'.
'             Unable to parse '+170209,0'.
'             Unable to parse '-103214.00'.
'             Unable to parse '-103214,00'.
'             Unable to parse '104561.1'.
'             Unable to parse '104561,1'.
'          Style: Integer, AllowDecimalPoint
'             Converted '170209' to 170209.
'             Unable to parse '+170209.0'.
'             Converted '+170209,0' to 170209.
'             Unable to parse '-103214.00'.
'             '-103214,00' is out of range of the UInt32 type.
'             Unable to parse '104561.1'.
'             '104561,1' is out of range of the UInt32 type.

Comentários

O parâmetro style define os elementos de estilo (como o espaço em branco ou o símbolo de sinal positivo ou negativo) que são permitidos no parâmetro s para que a operação de análise seja bem-sucedida.The style parameter defines the style elements (such as white space or the positive or negative sign symbol) that are allowed in the s parameter for the parse operation to succeed. Ele deve ser uma combinação de sinalizadores de bits da enumeração NumberStyles.It must be a combination of bit flags from the NumberStyles enumeration.

Dependendo do valor de style, o parâmetro s pode incluir os seguintes elementos:Depending on the value of style, the s parameter may include the following elements:

[ws][$][sign]digits[.fractional_digits][E[sign]exponential_digits][ws][ws][$][sign]digits[.fractional_digits][E[sign]exponential_digits][ws]

Os elementos entre colchetes ([ e ]) são opcionais.Elements in square brackets ([ and ]) are optional. Se style inclui NumberStyles.AllowHexSpecifier, o s parâmetro pode incluir os seguintes elementos:If style includes NumberStyles.AllowHexSpecifier, the s parameter may include the following elements:

[ws]hexdigits[ws][ws]hexdigits[ws]

A tabela a seguir descreve cada elemento.The following table describes each element.

ElementoElement DescriçãoDescription
wsws Espaço em branco opcional.Optional white space. Espaço em branco pode ser exibido no início de s caso style inclua o sinalizador NumberStyles.AllowLeadingWhite e pode ser exibido no final de s caso style inclua o sinalizador NumberStyles.AllowTrailingWhite.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.
$ Um símbolo de moeda específico de cultura.A culture-specific currency symbol. Sua posição na cadeia de caracteres é definida pela CurrencyPositivePattern propriedade do NumberFormatInfo objeto que é retornado pelo GetFormat método da provider parâmetro.Its position in the string is defined by the CurrencyPositivePattern property of the NumberFormatInfo object that is returned by the GetFormat method of the provider parameter. O símbolo de moeda pode ser exibido em s caso style inclua o sinalizador NumberStyles.AllowCurrencySymbol.The currency symbol can appear in s if style includes the NumberStyles.AllowCurrencySymbol flag.
signsign Um sinal opcional.An optional sign. (O método lança um OverflowException se s inclui um sinal negativo e representa um número diferente de zero.) O sinal pode ser exibido no início da s se style inclui as NumberStyles.AllowLeadingSign sinalizador e ele pode ser exibido o final do s se style inclui o NumberStyles.AllowTrailingSign sinalizador.(The method throws an OverflowException if s includes a negative sign and represents a non-zero number.) The sign can appear at the beginning of s if style includes the NumberStyles.AllowLeadingSign flag, and it can appear the end of s if style includes the NumberStyles.AllowTrailingSign flag. Os parênteses podem ser usados em s para indicar um valor negativo caso style inclua o sinalizador NumberStyles.AllowParentheses.Parentheses can be used in s to indicate a negative value if style includes the NumberStyles.AllowParentheses flag.
digitsdigits Uma sequência de dígitos de 0 a 9.A sequence of digits from 0 through 9.
.. Um símbolo de vírgula decimal específico de cultura.A culture-specific decimal point symbol. O símbolo da vírgula decimal da cultura atual pode ser exibido em s caso style inclua o sinalizador NumberStyles.AllowDecimalPoint.The current culture's decimal point symbol can appear in s if style includes the NumberStyles.AllowDecimalPoint flag.
fractional_digitsfractional_digits Uma ou mais ocorrências do dígito 0-9 caso style inclua o sinalizador NumberStyles.AllowExponent ou uma ou mais ocorrências do dígito 0 do contrário.One or more occurrences of the digit 0-9 if style includes the NumberStyles.AllowExponent flag, or one or more occurrences of the digit 0 if it does not. Os dígitos fracionários só podem ser exibidos em s caso style inclua o sinalizador NumberStyles.AllowDecimalPoint.Fractional digits can appear in s only if style includes the NumberStyles.AllowDecimalPoint flag.
EE O caractere "e" ou "E", que indica que o valor é representado em notação exponencial (científica).The "e" or "E" character, which indicates that the value is represented in exponential (scientific) notation. O parâmetro s pode representar um número em notação exponencial caso style inclua o sinalizador NumberStyles.AllowExponent.The s parameter can represent a number in exponential notation if style includes the NumberStyles.AllowExponent flag.
exponential_digitsexponential_digits Uma sequência de dígitos de 0 a 9.A sequence of digits from 0 through 9. O parâmetro s pode representar um número em notação exponencial caso style inclua o sinalizador NumberStyles.AllowExponent.The s parameter can represent a number in exponential notation if style includes the NumberStyles.AllowExponent flag.
hexdigitshexdigits Uma sequência de dígitos hexadecimais de 0 a f ou de 0 a F.A sequence of hexadecimal digits from 0 through f, or 0 through F.

Observação

Quaisquer caracteres de (U + 0000) terminação NUL no s são ignorados pela operação de análise, independentemente do valor de style argumento.Any terminating NUL (U+0000) characters in s are ignored by the parsing operation, regardless of the value of the style argument.

Uma cadeia de caracteres apenas com dígitos decimais (que corresponde ao estilo NumberStyles.None ) sempre é analisada com êxito.A string with decimal digits only (which corresponds to the NumberStyles.None style) always parses successfully. A maioria dos elementos de controle de membros NumberStyles restantes que podem estar presentes, mas que não precisam estar presentes, na cadeia de caracteres de entrada.Most of the remaining NumberStyles members control elements that may be present, but are not required to be present, in this input string. A tabela a seguir indica como os membros NumberStyles individuais afetam os elementos que podem estar presentes em s.The following table indicates how individual NumberStyles members affect the elements that may be present in s.

Valores NumberStyles não compostosNon-composite NumberStyles values Elementos permitidos em s além de dígitosElements permitted in s in addition to digits
NumberStyles.None Somente dígitos decimais.Decimal digits only.
NumberStyles.AllowDecimalPoint O ponto decimal (.) e dígitos fracionários elementos.The decimal point (.) and fractional_digits elements. No entanto, se o estilo não inclua o NumberStyles.AllowExponent sinalizador dígitos fracionários deve consistir em apenas um ou mais dígitos 0; caso contrário, um OverflowException é gerada.However, if style does not include the NumberStyles.AllowExponent flag, fractional_digits must consist of only one or more 0 digits; otherwise, an OverflowException is thrown.
NumberStyles.AllowExponent O "e" ou o caractere "E, que indica a notação exponencial, juntamente com" exponential_digits.The "e" or "E" character, which indicates exponential notation, along with exponential_digits.
NumberStyles.AllowLeadingWhite O elemento ws no início de s.The ws element at the beginning of s.
NumberStyles.AllowTrailingWhite O elemento ws no final de s.The ws element at the end of s.
NumberStyles.AllowLeadingSign Um sinal antes dígitos.A sign before digits.
NumberStyles.AllowTrailingSign Um sinal após dígitos.A sign after digits.
NumberStyles.AllowParentheses Parênteses antes e depois dígitos para indicar um valor negativo.Parentheses before and after digits to indicate a negative value.
NumberStyles.AllowThousands O separador de grupo (,) elemento.The group separator (,) element.
NumberStyles.AllowCurrencySymbol A moeda ($) elemento.The currency ($) element.

Caso o sinalizador NumberStyles.AllowHexSpecifier seja usado, s deve ser um valor hexadecimal.If the NumberStyles.AllowHexSpecifier flag is used, s must be a hexadecimal value. O único outros sinalizadores que podem ser combinados com ele são NumberStyles.AllowLeadingWhite e NumberStyles.AllowTrailingWhite.The only other flags that can be combined with it are NumberStyles.AllowLeadingWhite and NumberStyles.AllowTrailingWhite. (A enumeração de NumberStyles inclui um estilo de número composto, NumberStyles.HexNumber, que inclui ambos os sinalizadores de espaço em branco.)(The NumberStyles enumeration includes a composite number style, NumberStyles.HexNumber, that includes both white-space flags.)

Observação

Caso o parâmetro s seja a representação da cadeia de caracteres de um número hexadecimal, ele não pode ser precedido por uma decoração (como 0x ou &h) que o diferencia como um número hexadecimal.If the s parameter is the string representation of a hexadecimal number, it cannot be preceded by any decoration (such as 0x or &h) that differentiates it as a hexadecimal number. Isso faz a operação de análise lançar uma exceção.This causes the parse operation to throw an exception.

O parâmetro provider é uma implementação de IFormatProvider cujo método GetFormat retorna um objeto NumberFormatInfo que fornece informações de cultura específica sobre o formato de s.The provider parameter is an IFormatProvider implementation whose GetFormat method returns a NumberFormatInfo object that provides culture-specific information about the format of s. Existem três maneiras de usar o parâmetro provider para fornecer informações de formatação personalizadas para a operação de análise:There are three ways to use the provider parameter to supply custom formatting information to the parse operation:

  • É possível passar o objeto real NumberFormatInfo que fornece informações de formatação.You can pass the actual NumberFormatInfo object that provides formatting information. (Sua implementação de GetFormat retorna apenas ele próprio.)(Its implementation of GetFormat simply returns itself.)

  • É possível passar um objeto CultureInfo que especifica a cultura cuja formatação deve ser usada.You can pass a CultureInfo object that specifies the culture whose formatting is to be used. A propriedade NumberFormat fornece informações de formatação.Its NumberFormat property provides formatting information.

  • É possível passar uma implementação de IFormatProvider personalizada.You can pass a custom IFormatProvider implementation. O método GetFormat deve criar uma instância e retornar o objeto NumberFormatInfo que fornece informações de formatação.Its GetFormat method must instantiate and return the NumberFormatInfo object that provides formatting information.

Caso provider seja null, o objeto NumberFormatInfo da cultura atual é usado.If provider is null, the NumberFormatInfo object for the current culture is used.

Veja também

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

Importante

Esta API não está em conformidade com CLS.

[System.CLSCompliant(false)]
public static uint Parse (ReadOnlySpan<char> s, System.Globalization.NumberStyles style = System.Globalization.NumberStyles.Integer, IFormatProvider provider = null);
static member Parse : ReadOnlySpan<char> * System.Globalization.NumberStyles * IFormatProvider -> uint32
Public Shared Function Parse (s As ReadOnlySpan(Of Char), Optional style As NumberStyles = System.Globalization.NumberStyles.Integer, Optional provider As IFormatProvider = null) As UInteger

Parâmetros

Retornos

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

Importante

Esta API não está em conformidade com CLS.

Alternativa em conformidade com CLS
System.Int64.Parse(String)

Converte a representação de cadeia de caracteres de um número em um estilo especificado em um inteiro sem sinal de 32 bits equivalente.Converts the string representation of a number in a specified style to its 32-bit unsigned integer equivalent.

public:
 static System::UInt32 Parse(System::String ^ s, System::Globalization::NumberStyles style);
[System.CLSCompliant(false)]
public static uint Parse (string s, System.Globalization.NumberStyles style);
static member Parse : string * System.Globalization.NumberStyles -> uint32
Public Shared Function Parse (s As String, style As NumberStyles) As UInteger

Parâmetros

s
String String String String

Uma cadeia de caracteres que representa o número a ser convertido.A string representing the number to convert. A cadeia de caracteres é interpretada usando-se o estilo especificado pelo parâmetro style.The string is interpreted by using the style specified by the style parameter.

style
NumberStyles NumberStyles NumberStyles NumberStyles

Um combinação bit a bit de valores de enumeração que especificam o formato permitido de s.A bitwise combination of the enumeration values that specify the permitted format of s. Um valor típico a ser especificado é Integer.A typical value to specify is Integer.

Retornos

Um inteiro sem sinal de 32 bits equivalente ao número especificado em s.A 32-bit unsigned integer equivalent to the number specified in s.

Exceções

style não é um valor NumberStyles.style is not a NumberStyles value.

- ou --or- style não é uma combinação de valores AllowHexSpecifier e HexNumber.style is not a combination of AllowHexSpecifier and HexNumber values.

s não está em um formato em conformidade com style.s is not in a format compliant with style.

s representa um número que é menor que MinValue ou maior que MaxValue.s represents a number that is less than MinValue or greater than MaxValue.

- ou --or- s inclui dígitos fracionários, diferentes de zero.s includes non-zero, fractional digits.

Exemplos

O exemplo a seguir tenta analisar cada elemento em uma matriz de cadeia de caracteres usando um número de NumberStyles valores.The following example tries to parse each element in a string array by using a number of NumberStyles values.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      string[] values= { " 214309 ", "1,064,181", "(0)", "10241+", " + 21499 ", 
                         " +21499 ", "122153.00", "1e03ff", "91300.0e-2" };
      NumberStyles whitespace =  NumberStyles.AllowLeadingWhite | NumberStyles.AllowTrailingWhite;
      NumberStyles[] styles= { NumberStyles.None, whitespace, 
                               NumberStyles.AllowLeadingSign | NumberStyles.AllowTrailingSign | whitespace, 
                               NumberStyles.AllowThousands | NumberStyles.AllowCurrencySymbol, 
                               NumberStyles.AllowExponent | NumberStyles.AllowDecimalPoint };

      // Attempt to convert each number using each style combination.
      foreach (string value in values)
      {
         Console.WriteLine("Attempting to convert '{0}':", value);
         foreach (NumberStyles style in styles)
         {
            try {
               uint number = UInt32.Parse(value, style);
               Console.WriteLine("   {0}: {1}", style, number);
            }   
            catch (FormatException) {
               Console.WriteLine("   {0}: Bad Format", style);
            }   
            catch (OverflowException)
            {
               Console.WriteLine("   {0}: Overflow", value);         
            }         
         }
         Console.WriteLine();
      }
   }
}
// The example displays the following output:
//    Attempting to convert ' 214309 ':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: 214309
//       Integer, AllowTrailingSign: 214309
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert '1,064,181':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: 1064181
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert '(0)':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert '10241+':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: 10241
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert ' + 21499 ':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert ' +21499 ':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: 21499
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert '122153.00':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: 122153
//    
//    Attempting to convert '1e03ff':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: Bad Format
//    
//    Attempting to convert '91300.0e-2':
//       None: Bad Format
//       AllowLeadingWhite, AllowTrailingWhite: Bad Format
//       Integer, AllowTrailingSign: Bad Format
//       AllowThousands, AllowCurrencySymbol: Bad Format
//       AllowDecimalPoint, AllowExponent: 913
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim values() As String = { " 214309 ", "1,064,181", "(0)", "10241+", _
                                 " + 21499 ", " +21499 ", "122153.00", _
                                 "1e03ff", "91300.0e-2" }
      Dim whitespace As NumberStyles =  NumberStyles.AllowLeadingWhite Or NumberStyles.AllowTrailingWhite
      Dim styles() As NumberStyles = { NumberStyles.None, _
                                       whitespace, _
                                       NumberStyles.AllowLeadingSign Or NumberStyles.AllowTrailingSign Or whitespace, _
                                       NumberStyles.AllowThousands Or NumberStyles.AllowCurrencySymbol, _
                                       NumberStyles.AllowExponent Or NumberStyles.AllowDecimalPoint }

      ' Attempt to convert each number using each style combination.
      For Each value As String In values
         Console.WriteLine("Attempting to convert '{0}':", value)
         For Each style As NumberStyles In styles
            Try
               Dim number As UInteger = UInt32.Parse(value, style)
               Console.WriteLine("   {0}: {1}", style, number)
            Catch e As FormatException
               Console.WriteLine("   {0}: Bad Format", style)
            Catch e As OverflowException
               Console.WriteLine("   {0}: Overflow", value)         
            End Try         
         Next
         Console.WriteLine()
      Next
   End Sub
End Module
' The example displays the following output:
'    Attempting to convert ' 214309 ':
'       None: Bad Format
'       AllowLeadingWhite, AllowTrailingWhite: 214309
'       Integer, AllowTrailingSign: 214309
'       AllowThousands, AllowCurrencySymbol: Bad Format
'       AllowDecimalPoint, AllowExponent: Bad Format
'    
'    Attempting to convert '1,064,181':
'       None: Bad Format
'       AllowLeadingWhite, AllowTrailingWhite: Bad Format
'       Integer, AllowTrailingSign: Bad Format
'       AllowThousands, AllowCurrencySymbol: 1064181
'       AllowDecimalPoint, AllowExponent: Bad Format
'    
'    Attempting to convert '(0)':
'       None: Bad Format
'       AllowLeadingWhite, AllowTrailingWhite: Bad Format
'       Integer, AllowTrailingSign: Bad Format
'       AllowThousands, AllowCurrencySymbol: Bad Format
'       AllowDecimalPoint, AllowExponent: Bad Format
'    
'    Attempting to convert '10241+':
'       None: Bad Format
'       AllowLeadingWhite, AllowTrailingWhite: Bad Format
'       Integer, AllowTrailingSign: 10241
'       AllowThousands, AllowCurrencySymbol: Bad Format
'       AllowDecimalPoint, AllowExponent: Bad Format
'    
'    Attempting to convert ' + 21499 ':
'       None: Bad Format
'       AllowLeadingWhite, AllowTrailingWhite: Bad Format
'       Integer, AllowTrailingSign: Bad Format
'       AllowThousands, AllowCurrencySymbol: Bad Format
'       AllowDecimalPoint, AllowExponent: Bad Format
'    
'    Attempting to convert ' +21499 ':
'       None: Bad Format
'       AllowLeadingWhite, AllowTrailingWhite: Bad Format
'       Integer, AllowTrailingSign: 21499
'       AllowThousands, AllowCurrencySymbol: Bad Format
'       AllowDecimalPoint, AllowExponent: Bad Format
'    
'    Attempting to convert '122153.00':
'       None: Bad Format
'       AllowLeadingWhite, AllowTrailingWhite: Bad Format
'       Integer, AllowTrailingSign: Bad Format
'       AllowThousands, AllowCurrencySymbol: Bad Format
'       AllowDecimalPoint, AllowExponent: 122153
'    
'    Attempting to convert '1e03ff':
'       None: Bad Format
'       AllowLeadingWhite, AllowTrailingWhite: Bad Format
'       Integer, AllowTrailingSign: Bad Format
'       AllowThousands, AllowCurrencySymbol: Bad Format
'       AllowDecimalPoint, AllowExponent: Bad Format
'    
'    Attempting to convert '91300.0e-2':
'       None: Bad Format
'       AllowLeadingWhite, AllowTrailingWhite: Bad Format
'       Integer, AllowTrailingSign: Bad Format
'       AllowThousands, AllowCurrencySymbol: Bad Format
'       AllowDecimalPoint, AllowExponent: 913

Comentários

O style parâmetro define os elementos de estilo (como espaço em branco, o símbolo de sinal positivo ou negativo, o símbolo de separador de grupo ou o símbolo de ponto decimal) que são permitidos no s parâmetro para a operação de análise seja bem-sucedida.The style parameter defines the style elements (such as white space, the positive or negative sign symbol, the group separator symbol, or the decimal point symbol) that are allowed in the s parameter for the parse operation to succeed. style deve ser uma combinação de sinalizadores de bit do NumberStyles enumeração.style must be a combination of bit flags from the NumberStyles enumeration. O style parâmetro torna esse método de sobrecarga útil quando s contém a representação de cadeia de caracteres de um valor hexadecimal, quando o sistema de número (decimal ou hexadecimal) representado por s for conhecido somente em tempo de execução, ou quando você para não permitir espaço em branco ou um sinal de símbolo no s.The style parameter makes this method overload useful when s contains the string representation of a hexadecimal value, when the number system (decimal or hexadecimal) represented by s is known only at run time, or when you want to disallow white space or a sign symbol in s.

Dependendo do valor de style, o parâmetro s pode incluir os seguintes elementos:Depending on the value of style, the s parameter may include the following elements:

[ws][$][sign][digits,]digits[.fractional_digits][E[sign]exponential_digits][ws][ws][$][sign][digits,]digits[.fractional_digits][E[sign]exponential_digits][ws]

Os elementos entre colchetes ([ e ]) são opcionais.Elements in square brackets ([ and ]) are optional. Caso style inclua NumberStyles.AllowHexSpecifier, o parâmetro s pode conter os seguintes elementos:If style includes NumberStyles.AllowHexSpecifier, the s parameter may contain the following elements:

[ws]hexdigits[ws][ws]hexdigits[ws]

A tabela a seguir descreve cada elemento.The following table describes each element.

ElementoElement DescriçãoDescription
wsws Espaço em branco opcional.Optional white space. Espaço em branco podem aparecer no início da s se style inclui as NumberStyles.AllowLeadingWhite sinalizador e ele podem ser exibido no final da s se style inclui o NumberStyles.AllowTrailingWhite sinalizador.White space can appear at the start 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.
$ Um símbolo de moeda específico de cultura.A culture-specific currency symbol. A posição na cadeia de caracteres é definida pelas propriedades NumberFormatInfo.CurrencyNegativePattern e NumberFormatInfo.CurrencyPositivePattern da cultura atual.Its position in the string is defined by the NumberFormatInfo.CurrencyNegativePattern and NumberFormatInfo.CurrencyPositivePattern properties of the current culture. O símbolo de moeda da cultura atual pode ser exibido em s caso style inclua o sinalizador NumberStyles.AllowCurrencySymbol.The current culture's currency symbol can appear in s if style includes the NumberStyles.AllowCurrencySymbol flag.
signsign Um sinal opcional.An optional sign. O sinal pode ser exibido no início de s caso style inclua o sinalizador NumberStyles.AllowLeadingSign e ele pode ser exibido no final de s caso style inclua o sinalizador NumberStyles.AllowTrailingSign.The sign can appear at the start 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. Os parênteses podem ser usados em s para indicar um valor negativo caso style inclua o sinalizador NumberStyles.AllowParentheses.Parentheses can be used in s to indicate a negative value if style includes the NumberStyles.AllowParentheses flag. No entanto, o símbolo de sinal negativo só pode ser usado com zero; do contrário, o método lança um OverflowException.However, the negative sign symbol can be used only with zero; otherwise, the method throws an OverflowException.
digitsdigits

fractional_digitsfractional_digits

exponential_digitsexponential_digits
Uma sequência de dígitos de 0 a 9.A sequence of digits from 0 through 9. Para fractional_digits, apenas o dígito 0 é válido.For fractional_digits, only the digit 0 is valid.
,, Um símbolo de separador do grupo específico da cultura.A culture-specific group separator symbol. Separador de grupo da cultura atual pode aparecer em s se style inclui o NumberStyles.AllowThousands sinalizador.The current culture's group separator can appear in s if style includes the NumberStyles.AllowThousands flag.
.. Um símbolo de vírgula decimal específico de cultura.A culture-specific decimal point symbol. O símbolo da vírgula decimal da cultura atual pode ser exibido em s caso style inclua o sinalizador NumberStyles.AllowDecimalPoint.The current culture's decimal point symbol can appear in s if style includes the NumberStyles.AllowDecimalPoint flag. Apenas o dígito 0 pode aparecer como um dígito fracionário para que a operação de análise seja bem-sucedida; Se fractional_digits inclua qualquer outro dígito, um FormatException é gerada.Only the digit 0 can appear as a fractional digit for the parse operation to succeed; if fractional_digits includes any other digit, a FormatException is thrown.
EE O caractere "e" ou "E", que indica que o valor é representado em notação exponencial (científica).The "e" or "E" character, which indicates that the value is represented in exponential (scientific) notation. O parâmetro s pode representar um número em notação exponencial caso style inclua o sinalizador NumberStyles.AllowExponent.The s parameter can represent a number in exponential notation if style includes the NumberStyles.AllowExponent flag.
hexdigitshexdigits Uma sequência de dígitos hexadecimais de 0 a f ou de 0 a F.A sequence of hexadecimal digits from 0 through f, or 0 through F.

Observação

Quaisquer caracteres de (U + 0000) terminação NUL no s são ignorados pela operação de análise, independentemente do valor de style argumento.Any terminating NUL (U+0000) characters in s are ignored by the parsing operation, regardless of the value of the style argument.

Uma cadeia de caracteres apenas com dígitos (que corresponde ao estilo NumberStyles.None ) sempre é analisada com êxito.A string with digits only (which corresponds to the NumberStyles.None style) always parses successfully. A maioria dos elementos de controle de membros NumberStyles restantes que podem estar presentes, mas que não precisam estar presentes, na cadeia de caracteres de entrada.Most of the remaining NumberStyles members control elements that may be present, but are not required to be present, in the input string. A tabela a seguir indica como os membros NumberStyles individuais afetam os elementos que podem estar presentes em s.The following table indicates how individual NumberStyles members affect the elements that may be present in s.

Valor NumberStylesNumberStyles value Elementos permitidos em s além de dígitosElements permitted in s in addition to digits
None O dígitos apenas o elemento.The digits element only.
AllowDecimalPoint O vírgula decimal (,) e dígitos fracionários elementos.The decimal point (.) and fractional-digits elements.
AllowExponent O "e" ou o caractere "E, que indica a notação exponencial, juntamente com" exponential_digits.The "e" or "E" character, which indicates exponential notation, along with exponential_digits.
AllowLeadingWhite O ws elemento no início de s.The ws element at the start of s.
AllowTrailingWhite O elemento ws no final de s.The ws element at the end of s.
AllowLeadingSign O sinal elemento no início de s.The sign element at the start of s.
AllowTrailingSign O elemento sinal no final de s.The sign element at the end of s.
AllowParentheses O elemento sinal na forma de parênteses que incluem o valor numérico.The sign element in the form of parentheses enclosing the numeric value.
AllowThousands O elemento separador do grupo (,).The group separator (,) element.
AllowCurrencySymbol O elemento de moeda ($).The currency ($) element.
Currency Todos os elementos.All elements. No entanto, s não pode representar um número hexadecimal ou um número em notação exponencial.However, s cannot represent a hexadecimal number or a number in exponential notation.
Float O ws elemento no início ou final do s, sign no início do se o ponto decimal (.) símbolo.The ws element at the start or end of s, sign at the start of s, and the decimal point (.) symbol. O parâmetro s também pode usar notação exponencial.The s parameter can also use exponential notation.
Number O ws, sign, separador de grupo (,) e o ponto decimal (.) elementos.The ws, sign, group separator (,), and decimal point (.) elements.
Any Todos os elementos.All elements. No entanto, s não pode representar um número hexadecimal.However, s cannot represent a hexadecimal number.

Ao contrário de outros NumberStyles valores, que permitem, mas não exigem a presença de elementos de estilo específico s, o NumberStyles.AllowHexSpecifier valor de estilo significa que os caracteres individuais nos s sempre são interpretados como caracteres hexadecimais.Unlike the other NumberStyles values, which allow for, but do not require, the presence of particular style elements in s, the NumberStyles.AllowHexSpecifier style value means that the individual numeric characters in s are always interpreted as hexadecimal characters. Os caracteres hexadecimais válidos são 0-9, A-F e a-f.Valid hexadecimal characters are 0-9, A-F, and a-f. Um prefixo, como "0x", não é permitido.A prefix, such as "0x", is not allowed. Os únicos outros sinalizadores que podem ser combinados com o parâmetro style são NumberStyles.AllowLeadingWhite e NumberStyles.AllowTrailingWhite.The only other flags that can be combined with the style parameter are NumberStyles.AllowLeadingWhite and NumberStyles.AllowTrailingWhite. (A enumeração de NumberStyles inclui um estilo de número composto, NumberStyles.HexNumber, que inclui ambos os sinalizadores de espaço em branco.)(The NumberStyles enumeration includes a composite number style, NumberStyles.HexNumber, that includes both white-space flags.)

Os únicos outros sinalizadores que podem ser combinados com o parâmetro style são NumberStyles.AllowLeadingWhite e NumberStyles.AllowTrailingWhite.The only other flags that can be combined with the style parameter are NumberStyles.AllowLeadingWhite and NumberStyles.AllowTrailingWhite. (A enumeração de NumberStyles inclui um estilo de número composto, NumberStyles.HexNumber, que inclui ambos os sinalizadores de espaço em branco.)(The NumberStyles enumeration includes a composite number style, NumberStyles.HexNumber, that includes both white-space flags.)

Observação

Caso s seja a representação da cadeia de caracteres de um número hexadecimal, ele não pode ser precedido por qualquer decoração (como 0x ou &h) que o diferencia como um número hexadecimal.If s is the string representation of a hexadecimal number, it cannot be preceded by any decoration (such as 0x or &h) that differentiates it as a hexadecimal number. Isso faz a conversão falhar.This causes the conversion to fail.

O parâmetro s é analisado usando-se as informações de formatação em um objeto NumberFormatInfo que é inicializado para a cultura do sistema atual.The s parameter is parsed by using the formatting information in a NumberFormatInfo object that is initialized for the current system culture. Para especificar a cultura cujas informações de formatação são usadas para a operação de análise, chame o Parse(String, NumberStyles, IFormatProvider) de sobrecarga.To specify the culture whose formatting information is used for the parse operation, call the Parse(String, NumberStyles, IFormatProvider) overload.

Veja também

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

Importante

Esta API não está em conformidade com CLS.

Alternativa em conformidade com CLS
System.Int64.Parse(String)

Converte a representação de cadeia de caracteres de um número em seu inteiro sem sinal de 32 bits equivalente.Converts the string representation of a number to its 32-bit unsigned integer equivalent.

public:
 static System::UInt32 Parse(System::String ^ s);
[System.CLSCompliant(false)]
public static uint Parse (string s);
static member Parse : string -> uint32
Public Shared Function Parse (s As String) As UInteger

Parâmetros

s
String String String String

Uma cadeia de caracteres que representa o número a ser convertido.A string representing the number to convert.

Retornos

Um inteiro sem sinal de 32 bits equivalente ao número contido em s.A 32-bit unsigned integer equivalent to the number contained in s.

Exceções

O parâmetro s não tem o formato correto.The s parameter is not of the correct format.

O parâmetro s representa um número menor que MinValue ou maior que MaxValue.The s parameter represents a number that is less than MinValue or greater than MaxValue.

Exemplos

O exemplo a seguir usa o Parse(String) método para analisar uma matriz de valores de cadeia de caracteres.The following example uses the Parse(String) method to parse an array of string values.

string[] values = { "+13230", "-0", "1,390,146", "$190,235,421,127",
                    "0xFA1B", "163042", "-10", "2147483648", 
                    "14065839182", "16e07", "134985.0", "-12034" };
foreach (string value in values)
{
   try {
      uint number = UInt32.Parse(value); 
      Console.WriteLine("{0} --> {1}", value, number);
   }
   catch (FormatException) {
      Console.WriteLine("{0}: Bad Format", value);
   }   
   catch (OverflowException) {
      Console.WriteLine("{0}: Overflow", value);   
   }  
}
// The example displays the following output:
//       +13230 --> 13230
//       -0 --> 0
//       1,390,146: Bad Format
//       $190,235,421,127: Bad Format
//       0xFA1B: Bad Format
//       163042 --> 163042
//       -10: Overflow
//       2147483648 --> 2147483648
//       14065839182: Overflow
//       16e07: Bad Format
//       134985.0: Bad Format
//       -12034: Overflow      
Dim values() As String = { "+13230", "-0", "1,390,146", "$190,235,421,127", 
                           "0xFA1B", "163042", "-10", "2147483648",  
                           "14065839182", "16e07", "134985.0", "-12034" }
For Each value As String In values
   Try
      Dim number As UInteger = UInt32.Parse(value) 
      Console.WriteLine("{0} --> {1}", value, number)
   Catch e As FormatException
      Console.WriteLine("{0}: Bad Format", value)
   Catch e As OverflowException
      Console.WriteLine("{0}: Overflow", value)   
   End Try  
Next
' The example displays the following output:
'       +13230 --> 13230
'       -0 --> 0
'       1,390,146: Bad Format
'       $190,235,421,127: Bad Format
'       0xFA1B: Bad Format
'       163042 --> 163042
'       -10: Overflow
'       2147483648 --> 2147483648
'       14065839182: Overflow
'       16e07: Bad Format
'       134985.0: Bad Format
'       -12034: Overflow

Comentários

O s parâmetro deve ser a representação de cadeia de caracteres de um número da seguinte forma.The s parameter should be the string representation of a number in the following form.

[ws][sign]digits[ws][ws][sign]digits[ws]

Os elementos entre colchetes ([ e ]) são opcionais.Elements in square brackets ([ and ]) are optional. A tabela a seguir descreve cada elemento.The following table describes each element.

ElementoElement DescriçãoDescription
wsws Espaço em branco opcional.Optional white space.
signsign Um sinal opcional.An optional sign. Os caracteres de sinal válido são determinados pelas propriedades NumberFormatInfo.NegativeSign e NumberFormatInfo.PositiveSign da cultura atual.Valid sign characters are determined by the NumberFormatInfo.NegativeSign and NumberFormatInfo.PositiveSign properties of the current culture. No entanto, o símbolo de sinal negativo só pode ser usado com zero; do contrário, o método lança um OverflowException.However, the negative sign symbol can be used only with zero; otherwise, the method throws an OverflowException.
digitsdigits Uma sequência de dígitos que varia de 0 a 9.A sequence of digits ranging from 0 to 9. Todos os zeros à esquerda são ignorados.Any leading zeros are ignored.

Observação

A cadeia de caracteres especificada pelo s parâmetro é interpretado usando o NumberStyles.Integer estilo.The string specified by the s parameter is interpreted by using the NumberStyles.Integer style. Ele não pode conter nenhum separador de grupo ou decimal, e não pode ter uma parte decimal.It cannot contain any group separators or decimal separator, and it cannot have a decimal portion.

O parâmetro s é analisado usando-se as informações de formatação em um objeto System.Globalization.NumberFormatInfo que é inicializado para a cultura do sistema atual.The s parameter is parsed by using the formatting information in a System.Globalization.NumberFormatInfo object that is initialized for the current system culture. Para obter mais informações, consulte NumberFormatInfo.CurrentInfo.For more information, see NumberFormatInfo.CurrentInfo. Para analisar uma cadeia de caracteres usando as informações de formatação de uma cultura específica, use o Parse(String, IFormatProvider) método.To parse a string by using the formatting information of a specific culture, use the Parse(String, IFormatProvider) method.

Veja também

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

Importante

Esta API não está em conformidade com CLS.

Alternativa em conformidade com CLS
System.Int64.Parse(String)

Converte a representação de cadeia de caracteres de um número em um formato específico à cultura especificado no seu inteiro sem sinal de 32 bits equivalente.Converts the string representation of a number in a specified culture-specific format to its 32-bit unsigned integer equivalent.

public:
 static System::UInt32 Parse(System::String ^ s, IFormatProvider ^ provider);
[System.CLSCompliant(false)]
public static uint Parse (string s, IFormatProvider provider);
static member Parse : string * IFormatProvider -> uint32
Public Shared Function Parse (s As String, provider As IFormatProvider) As UInteger

Parâmetros

s
String String String String

Uma cadeia de caracteres que representa o número a ser convertido.A string that represents the number to convert.

provider
IFormatProvider IFormatProvider IFormatProvider IFormatProvider

Um objeto que fornece informações de formatação específicas de cultura sobre s.An object that supplies culture-specific formatting information about s.

Retornos

Um inteiro sem sinal de 32 bits equivalente ao número especificado em s.A 32-bit unsigned integer equivalent to the number specified in s.

Exceções

s não está no estilo correto.s is not in the correct style.

s representa um número que é menor que MinValue ou maior que MaxValue.s represents a number that is less than MinValue or greater than MaxValue.

Exemplos

O exemplo a seguir é o manipulador de eventos de clique do botão de um formulário da Web.The following example is the button click event handler of a Web form. Ele usa a matriz retornada pela propriedade HttpRequest.UserLanguages para determinar a localidade do usuário.It uses the array returned by the HttpRequest.UserLanguages property to determine the user's locale. Em seguida, ele instancia um objeto CultureInfo que corresponde à localidade.It then instantiates a CultureInfo object that corresponds to that locale. O NumberFormatInfo objeto que pertence à CultureInfo objeto é passado para o Parse(String, IFormatProvider) método para converter o usuário de entrada para um UInt32 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 UInt32 value.

protected void OkToUInteger_Click(object sender, EventArgs e)
{
   string locale;
   uint 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 = UInt32.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 OKToUInteger_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles OKToUInteger.Click
   Dim locale As String
   Dim culture As CultureInfo
   Dim number As UInteger

   ' 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 = UInt32.Parse(Me.inputNumber.Text, culture.NumberFormat)
   Catch ex As FormatException
      Exit Sub
   Catch ex As Exception
      Exit Sub
   End Try

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

Comentários

O parâmetro s contém um número da forma:The s parameter contains a number of the form:

[ws][sign]digits[ws][ws][sign]digits[ws]

Itens entre colchetes ([ e ]) são opcionais.Items in square brackets ([ and ]) are optional. A tabela a seguir descreve cada elemento.The following table describes each element.

ElementoElement DescriçãoDescription
wsws Espaço em branco opcional.Optional white space.
signsign Um sinal opcional ou um sinal negativo se s representa o valor zero.An optional sign, or a negative sign if s represents the value zero.
digitsdigits Uma sequência de dígitos que varia de 0 a 9.A sequence of digits ranging from 0 to 9.

O parâmetro s é interpretado usando o NumberStyles.Integer estilo.The s parameter is interpreted using the NumberStyles.Integer style. Além de dígitos decimais do valor inteiro sem sinal, é permitido somente espaços à direita e, juntamente com um sinal à esquerda.In addition to the unsigned integer value's decimal digits, only leading and trailing spaces along with a leading sign is allowed. (Se presente, o sinal de negativo s deve representar um valor de zero, ou o método lança um OverflowException.) Para definir explicitamente os elementos de estilo junto com as informações de formatação específicas da cultura podem estar presentes em s, use o Parse(String, NumberStyles, IFormatProvider) método.(If the negative sign is present, s must represent a value of zero, or the method throws an OverflowException.) To explicitly define the style elements together with the culture-specific formatting information that can be present in s, use the Parse(String, NumberStyles, IFormatProvider) method.

O parâmetro provider é uma implementação de IFormatProvider cujo método GetFormat retorna um objeto NumberFormatInfo que fornece informações de cultura específica sobre o formato de s.The provider parameter is an IFormatProvider implementation whose GetFormat method returns a NumberFormatInfo object that provides culture-specific information about the format of s. Existem três maneiras de usar o parâmetro provider para fornecer informações de formatação personalizadas para a operação de análise:There are three ways to use the provider parameter to supply custom formatting information to the parse operation:

  • É possível passar o objeto real NumberFormatInfo que fornece informações de formatação.You can pass the actual NumberFormatInfo object that provides formatting information. (Sua implementação de GetFormat retorna apenas ele próprio.)(Its implementation of GetFormat simply returns itself.)

  • É possível passar um objeto CultureInfo que especifica a cultura cuja formatação deve ser usada.You can pass a CultureInfo object that specifies the culture whose formatting is to be used. A propriedade NumberFormat fornece informações de formatação.Its NumberFormat property provides formatting information.

  • É possível passar uma implementação de IFormatProvider personalizada.You can pass a custom IFormatProvider implementation. O método GetFormat deve criar uma instância e retornar o objeto NumberFormatInfo que fornece informações de formatação.Its GetFormat method must instantiate and return the NumberFormatInfo object that provides formatting information.

Caso provider seja null, NumberFormatInfo da cultura atual é usado.If provider is null, the NumberFormatInfo for the current culture is used.

Veja também

Aplica-se a