Int64.Parse Int64.Parse Int64.Parse Int64.Parse Method

Definição

Converte a representação de cadeia de caracteres de um número no inteiro com sinal de 64 bits equivalente.Converts the string representation of a number to its 64-bit signed 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 estilo e formato específico da cultura especificados em seu equivalente de inteiro com sinal de 64 bits.Converts the string representation of a number in a specified style and culture-specific format to its 64-bit signed 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 com sinal de 64 bits equivalente.Converts the string representation of a number in a specified style to its 64-bit signed integer equivalent.

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

Converte a representação de cadeia de caracteres de um número no inteiro com sinal de 64 bits equivalente.Converts the string representation of a number to its 64-bit signed 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 inteiro com sinal de 64 bits equivalente.Converts the string representation of a number in a specified culture-specific format to its 64-bit signed integer equivalent.

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 estilo e formato específico da cultura especificados em seu equivalente de inteiro com sinal de 64 bits.Converts the string representation of a number in a specified style and culture-specific format to its 64-bit signed integer equivalent.

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

Parâmetros

s
String String String String

Uma cadeia de caracteres que contém um número a ser convertido.A string containing a number to convert.

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 IFormatProvider que fornece informações de formatação específica de cultura sobre s.An IFormatProvider that supplies culture-specific formatting information about s.

Retornos

Um inteiro com sinal de 64 bits equivalente ao número especificado em s.A 64-bit signed 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 menor que MinValue ou maior que MaxValue.s represents a number less than MinValue or greater than MaxValue.

- ou --or- O style dá suporte a dígitos fracionários, mas o s inclui dígitos fracionários diferentes de zero.style supports fractional digits, but s includes non-zero fractional digits.

Exemplos

O exemplo a seguir usa uma variedade style de provider parâmetros e para analisar as representações de cadeia Int64 de caracteres de valores.The following example uses a variety of style and provider parameters to parse the string representations of Int64 values. Ele também ilustra algumas das diferentes maneiras pelas quais a mesma cadeia de caracteres pode ser interpretada dependendo da cultura cujas informações de formatação são usadas para a operação de análise.It also illustrates some of the different ways the same string can be interpreted depending on the culture whose formatting information is used for the parsing operation.

using System;
using System.Globalization;

public class ParseInt64
{
   public static void Main()
   {
      Convert("12,000", NumberStyles.Float | NumberStyles.AllowThousands, 
              new CultureInfo("en-GB"));
      Convert("12,000", NumberStyles.Float | NumberStyles.AllowThousands,
              new CultureInfo("fr-FR"));
      Convert("12,000", NumberStyles.Float, new CultureInfo("en-US"));
      
      Convert("12 425,00", NumberStyles.Float | NumberStyles.AllowThousands,
              new CultureInfo("sv-SE"));
      Convert("12,425.00", NumberStyles.Float | NumberStyles.AllowThousands,
              NumberFormatInfo.InvariantInfo);
      Convert("631,900", NumberStyles.Integer | NumberStyles.AllowDecimalPoint, 
              new CultureInfo("fr-FR"));
      Convert("631,900", NumberStyles.Integer | NumberStyles.AllowDecimalPoint,
              new CultureInfo("en-US"));
      Convert("631,900", NumberStyles.Integer | NumberStyles.AllowThousands,
              new CultureInfo("en-US"));
   }

   private static void Convert(string value, NumberStyles style, 
                               IFormatProvider provider)
   {
      try
      {
         long number = Int64.Parse(value, style, provider);
         Console.WriteLine("Converted '{0}' to {1}.", value, number);
      }
      catch (FormatException)
      {
         Console.WriteLine("Unable to convert '{0}'.", value);
      }   
      catch (OverflowException)
      {
         Console.WriteLine("'{0}' is out of range of the Int64 type.", value);   
      }
   }                               
}
// This example displays the following output to the console:
//       Converted '12,000' to 12000.
//       Converted '12,000' to 12.
//       Unable to convert '12,000'.
//       Converted '12 425,00' to 12425.
//       Converted '12,425.00' to 12425.
//       '631,900' is out of range of the Int64 type.
//       Unable to convert '631,900'.
//       Converted '631,900' to 631900.
Imports System.Globalization

Module ParseInt64
   Public Sub Main()
      Convert("12,000", NumberStyles.Float Or NumberStyles.AllowThousands, _
              New CultureInfo("en-GB"))      
      Convert("12,000", NumberStyles.Float Or NumberStyles.AllowThousands, _
              New CultureInfo("fr-FR"))
      Convert("12,000", NumberStyles.Float, New CultureInfo("en-US"))
      
      Convert("12 425,00", NumberStyles.Float Or NumberStyles.AllowThousands, _
              New CultureInfo("sv-SE")) 
      Convert("12,425.00", NumberStyles.Float Or NumberStyles.AllowThousands, _
              NumberFormatInfo.InvariantInfo) 
      Convert("631,900", NumberStyles.Integer Or NumberStyles.AllowDecimalPoint, _ 
              New CultureInfo("fr-FR"))
      Convert("631,900", NumberStyles.Integer Or NumberStyles.AllowDecimalPoint, _
              New CultureInfo("en-US"))
      Convert("631,900", NumberStyles.Integer Or NumberStyles.AllowThousands, _
              New CultureInfo("en-US"))
   End Sub

   Private Sub Convert(value As String, style As NumberStyles, _
                       provider As IFormatProvider)
      Try
         Dim number As Long = Int64.Parse(value, style, provider)
         Console.WriteLine("Converted '{0}' to {1}.", value, number)
      Catch e As FormatException
         Console.WriteLine("Unable to convert '{0}'.", value)
      Catch e As OverflowException
         Console.WriteLine("'{0}' is out of range of the Int64 type.", value)   
      End Try
   End Sub                       
End Module
' This example displays the following output to the console:
'       Converted '12,000' to 12000.
'       Converted '12,000' to 12.
'       Unable to convert '12,000'.
'       Converted '12 425,00' to 12425.
'       Converted '12,425.00' to 12425.
'       '631,900' is out of range of the Int64 type.
'       Unable to convert '631,900'.
'       Converted '631,900' to 631900.

Comentários

O parâmetro style define os elementos de estilo (como espaço em branco ou o sinal positivo) 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 sign) 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,]digits[.fractional_digits][e[sign]exponential_digits][ws][ws][$][sign][digits,]digits[.fractional_digits][e[sign]exponential_digits][ws]

Ou, caso style inclua AllowHexSpecifier:Or, if style includes AllowHexSpecifier:

[ws]hexdigits[ws][ws]hexdigits[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. 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. A posição na cadeia de caracteres é definida pela propriedade NumberFormatInfo.CurrencyPositivePattern do objeto NumberFormatInfo retornado pelo método GetFormat do parâmetro provider.Its position in the string is defined by the NumberFormatInfo.CurrencyPositivePattern property of the NumberFormatInfo object 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 sinal pode aparecer no início de s se style incluir o NumberStyles.AllowLeadingSign sinalizador ou no final de s se style incluir o NumberStyles.AllowTrailingSign sinalizador.The sign can appear at the beginning of s if style includes the NumberStyles.AllowLeadingSign flag or 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.
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.
,, Um símbolo de separador de milhares específico da cultura.A culture-specific thousands separator symbol. O separador de milhares da cultura especificada por provider pode ser exibido em s caso style inclua o sinalizador NumberStyles.AllowThousands.The thousands separator of the culture specified by provider 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 especificada por provider pode ser exibido em s caso style inclua o sinalizador NumberStyles.AllowDecimalPoint.The decimal point symbol of the culture specified by provider can appear in s if style includes the NumberStyles.AllowDecimalPoint flag.

Apenas o dígito 0 pode ser exibido como um dígito fracionário para que a operação de análise seja bem-sucedida; caso dígitos fracionários inclua qualquer outro dígito, um OverflowException é lançado.Only the digit 0 can appear as a fractional digit for the parse operation to succeed; if fractional_digits includes any other digit, an OverflowException is thrown.
ee O caractere 'e' ou 'E', que indica se o valor é representado na notação exponencial.The 'e' or 'E' character, which indicates that the value is represented in exponential 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

Todos os caracteres nul (U + 0000) de s encerramento são ignorados pela operação de análise, independentemente do valor style do 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 com dígitos decimais somente (que corresponde NumberStyles.None ao estilo) sempre é analisada com êxito se estiver no intervalo Int64 do tipo.A string with decimal digits only (which corresponds to the NumberStyles.None style) always parses successfully if it is in the range of the Int64 type. A maioria dos elementos de controle dos membros NumberStyles restantes que podem estar, mas que não precisam estar presentes nessa cadeia de caracteres de entrada.Most of the remaining NumberStyles members control elements that may be 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 ( .The decimal point ( . ) e elementos fracionários de dígitos .) and fractional-digits elements. No entanto, os dígitos fracionários devem consistir apenas em um ou mais 0 OverflowException dígitos ou um é gerado.However, fractional-digits must consist of only one or more 0 digits or an OverflowException is thrown.
NumberStyles.AllowExponent O parâmetro s também pode usar notação exponencial.The s parameter can also use exponential notation.
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 pode aparecer antes dos dígitos.A sign can appear before digits.
NumberStyles.AllowTrailingSign Um sinal pode aparecer após dígitos.A sign can appear after digits.
NumberStyles.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.
NumberStyles.AllowThousands O elemento separador de milhares ( . ).The thousands separator ( , ) element.
NumberStyles.AllowCurrencySymbol O elemento é $.The $ element.

Se o NumberStyles.AllowHexSpecifier sinalizador for usado, s deverá ser um valor hexadecimal sem um prefixo.If the NumberStyles.AllowHexSpecifier flag is used, s must be a hexadecimal value without a prefix. Por exemplo, "C9AF3" analisa com êxito, mas "0xC9AF3" não.For example, "C9AF3" parses successfully, but "0xC9AF3" does not. Os únicos outros sinalizadores que podem estar presentes em style são NumberStyles.AllowLeadingWhite e NumberStyles.AllowTrailingWhite.The only other flags that can be present in style are NumberStyles.AllowLeadingWhite and NumberStyles.AllowTrailingWhite. (A enumeração de NumberStyles tem um estilo de número composto, NumberStyles.HexNumber, que inclui ambos os sinalizadores de espaço em branco.)(The NumberStyles enumeration has a composite number style, NumberStyles.HexNumber, that includes both white space flags.)

O parâmetro provider é uma implementação de IFormatProvider, como um objeto NumberFormatInfo ou CultureInfo.The provider parameter is an IFormatProvider implementation, such as a NumberFormatInfo or CultureInfo object. O parâmetro provider fornece informações específicas da cultura usadas na análise.The provider parameter supplies culture-specific information used in parsing. Caso provider seja null, NumberFormatInfo da cultura atual é usado.If provider is null, the NumberFormatInfo for the current culture is used.

Veja também

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

public static long Parse (ReadOnlySpan<char> s, System.Globalization.NumberStyles style = System.Globalization.NumberStyles.Integer, IFormatProvider provider = null);
static member Parse : ReadOnlySpan<char> * System.Globalization.NumberStyles * IFormatProvider -> int64
Public Shared Function Parse (s As ReadOnlySpan(Of Char), Optional style As NumberStyles = System.Globalization.NumberStyles.Integer, Optional provider As IFormatProvider = null) As Long

Parâmetros

Retornos

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 com sinal de 64 bits equivalente.Converts the string representation of a number in a specified style to its 64-bit signed integer equivalent.

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

Parâmetros

s
String String String String

Uma cadeia de caracteres que contém um número a ser convertido.A string containing a number to convert.

style
NumberStyles NumberStyles NumberStyles NumberStyles

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

Retornos

Um inteiro com sinal de 64 bits equivalente ao número especificado em s.A 64-bit signed 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 menor que MinValue ou maior que MaxValue.s represents a number less than MinValue or greater than MaxValue.

- ou --or- O style dá suporte a dígitos fracionários, mas o s inclui dígitos fracionários diferentes de zero.style supports fractional digits but s includes non-zero fractional digits.

Exemplos

O exemplo a seguir usa Int64.Parse(String, NumberStyles) o método para analisar as representações de cadeia de Int64 caracteres de vários valores.The following example uses the Int64.Parse(String, NumberStyles) method to parse the string representations of several Int64 values. A cultura atual do exemplo é en-us.The current culture for the example is en-US.

using System;
using System.Globalization;

public class ParseInt32
{
   public static void Main()
   {
      Convert("104.0", NumberStyles.AllowDecimalPoint);
      Convert("104.9", NumberStyles.AllowDecimalPoint);
      Convert (" 106034", NumberStyles.None);
      Convert(" $17,198,064.42", NumberStyles.AllowCurrencySymbol |
                                 NumberStyles.Number);
      Convert(" $17,198,064.00", NumberStyles.AllowCurrencySymbol |
                                 NumberStyles.Number);
      Convert("103E06", NumberStyles.AllowExponent);
      Convert("1200E-02", NumberStyles.AllowExponent);
      Convert("1200E-03", NumberStyles.AllowExponent);
      Convert("-1,345,791", NumberStyles.AllowThousands);
      Convert("(1,345,791)", NumberStyles.AllowThousands |
                             NumberStyles.AllowParentheses);
      Convert("FFCA00A0", NumberStyles.HexNumber);                       
      Convert("0xFFCA00A0", NumberStyles.HexNumber);                       
   }

   private static void Convert(string value, NumberStyles style)
   {
      try
      {
         long number = Int64.Parse(value, style);
         Console.WriteLine("Converted '{0}' to {1}.", value, number);
      }
      catch (FormatException)
      {
         Console.WriteLine("Unable to convert '{0}'.", value);
      }
      catch (OverflowException)
      {
         Console.WriteLine("'{0}' is out of range of the Int64 type.", value);   
      }
   }
}
// The example displays the following output to the console:
//       Converted '104.0' to 104.
//       '104.9' is out of range of the Int64 type.
//       Unable to convert ' 106034'.
//       ' $17,198,064.42' is out of range of the Int64 type.
//       Converted ' $17,198,064.00' to 17198064.
//       Converted '103E06' to 103000000.
//       Converted '1200E-02' to 12.
//       '1200E-03' is out of range of the Int64 type.
//       Unable to convert '-1,345,791'.
//       Converted '(1,345,791)' to -1345791.
//       Converted 'FFCA00A0' to 4291428512.
//       Unable to convert '0xFFCA00A0'.
Imports System.Globalization

Module ParseInt64
   Public Sub Main()
      Convert("104.0", NumberStyles.AllowDecimalPoint)    
      Convert("104.9", NumberStyles.AllowDecimalPoint)
      Convert (" 106034", NumberStyles.None)
      Convert(" $17,198,064.42", NumberStyles.AllowCurrencySymbol Or _
                                 NumberStyles.Number)
      Convert(" $17,198,064.00", NumberStyles.AllowCurrencySymbol Or _
                                 NumberStyles.Number)
      Convert("103E06", NumberStyles.AllowExponent)  
      Convert("1200E-02", NumberStyles.AllowExponent)
      Convert("1200E-03", NumberStyles.AllowExponent)
      Convert("-1,345,791", NumberStyles.AllowThousands)
      Convert("(1,345,791)", NumberStyles.AllowThousands Or _
                             NumberStyles.AllowParentheses)
      Convert("FFCA00A0", NumberStyles.HexNumber)                       
      Convert("0xFFCA00A0", NumberStyles.HexNumber)                       
   End Sub
   
   Private Sub Convert(value As String, style As NumberStyles)
      Try
         Dim number As Long = Int64.Parse(value, style)
         Console.WriteLine("Converted '{0}' to {1}.", value, number)
      Catch e As FormatException
         Console.WriteLine("Unable to convert '{0}'.", value)
      Catch e As OverflowException
         Console.WriteLine("'{0}' is out of range of the Int64 type.", value)   
      End Try
   End Sub
End Module
' The example displays the following output to the console:
'       Converted '104.0' to 104.
'       '104.9' is out of range of the Int64 type.
'       Unable to convert ' 106034'.
'       ' $17,198,064.42' is out of range of the Int64 type.
'       Converted ' $17,198,064.00' to 17198064.
'       Converted '103E06' to 103000000.
'       Converted '1200E-02' to 12.
'       '1200E-03' is out of range of the Int64 type.
'       Unable to convert '-1,345,791'.
'       Converted '(1,345,791)' to -1345791.
'       Converted 'FFCA00A0' to 4291428512.
'       Unable to convert '0xFFCA00A0'.

Comentários

O style parâmetro define os elementos de estilo (como espaço em branco, símbolo de sinal positivo ou negativo ou o símbolo de separador de milhar) s que são permitidos no parâmetro para que a operação de análise seja realizada com sucesso.The style parameter defines the style elements (such as white space, the positive or negative sign symbol, or the thousands separator 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 s parâmetro pode conter os seguintes elementos:Depending on the value of style, the s parameter may contain 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]

Ou, caso style inclua AllowHexSpecifier:Or, if style includes AllowHexSpecifier:

[ws]hexdigits[ws][ws]hexdigits[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. 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. 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 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. 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

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 de milhares específico da cultura.A culture-specific thousands separator symbol. O separador de milhar da cultura s atual style pode aparecer NumberStyles.AllowThousands em se incluir o sinalizador.The current culture's thousands 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 ser exibido como um dígito fracionário para que a operação de análise seja bem-sucedida; caso dígitos fracionários inclua qualquer outro dígito, um OverflowException é lançado.Only the digit 0 can appear as a fractional digit for the parse operation to succeed; if fractional_digits includes any other digit, an OverflowException is thrown.
ee O caractere 'e' ou 'E', que indica se o valor é representado na notação exponencial.The 'e' or 'E' character, which indicates that the value is represented in exponential 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

Todos os caracteres nul (U + 0000) de s encerramento são ignorados pela operação de análise, independentemente do valor style do 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 Int64 êxito.A string with digits only (which corresponds to the NumberStyles.None style) always parses successfully if it is in the range of the Int64 type. A maioria dos membros NumberStyles restantes controlam os elementos que podem ser, mas que não precisam estar presentes na cadeia de caracteres de entrada.Most of the remaining NumberStyles members control elements that may be 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 Somente ** o elemento digits.The digits element only.
AllowDecimalPoint O ponto decimal ( .The decimal point ( . ) e elementos fracionários de dígitos .) and fractional-digits elements.
AllowExponent O parâmetro s também pode usar notação exponencial.The s parameter can also use exponential notation. Se s representa um número em notação exponencial, o valor numérico resultante não poderá incluir nenhum dígito fracionário diferente de zero.If s represents a number in exponential notation, the resulting numeric value cannot include any non-zero fractional digits.
AllowLeadingWhite O elemento ws no início de s.The ws element at the beginning of s.
AllowTrailingWhite O elemento ws no final de s.The ws element at the end of s.
AllowLeadingSign O elemento sinal no início de s.The sign element at the beginning 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 de milhares ( . ).The thousands separator ( , ) element.
AllowCurrencySymbol O elemento é $.The $ element.
Currency Os.All. O parâmetro s não pode representar um número hexadecimal ou um número em notação exponencial.The s parameter cannot represent a hexadecimal number or a number in exponential notation.
Float O elemento ws no início ou fim de s, sinal no início de s** e o símbolo de vírgula decimal (,).The ws element at the beginning or end of s, sign at the beginning of s, and the decimal point ( . símbolo.) 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 milhar ( , ) e ponto decimal ( .The ws, sign, thousands separator ( , ), and decimal point ( . elementos.) elements.
Any Todos os estilos, exceto caso s não possa representar um número hexadecimal.All styles, except s cannot represent a hexadecimal number.

Se o NumberStyles.AllowHexSpecifier sinalizador for usado, s deverá ser um valor hexadecimal sem um prefixo.If the NumberStyles.AllowHexSpecifier flag is used, s must be a hexadecimal value without a prefix. Por exemplo, "C9AF3" analisa com êxito, mas "0xC9AF3" não.For example, "C9AF3" parses successfully, but "0xC9AF3" does not. Os únicos outros sinalizadores que podem ser combinados com o parâmetro s são NumberStyles.AllowLeadingWhite e NumberStyles.AllowTrailingWhite.The only other flags that can be combined with the s parameter are NumberStyles.AllowLeadingWhite and NumberStyles.AllowTrailingWhite. (A NumberStyles enumeração inclui um estilo de número composto NumberStyles.HexNumber,, que inclui os dois sinalizadores de espaço em branco.)(The NumberStyles enumeration includes a composite number style, NumberStyles.HexNumber, that includes both white space flags.)

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 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, Int64.Parse(String, NumberStyles, IFormatProvider) chame a sobrecarga.To specify the culture whose formatting information is used for the parse operation, call the Int64.Parse(String, NumberStyles, IFormatProvider) overload.

Veja também

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

Converte a representação de cadeia de caracteres de um número no inteiro com sinal de 64 bits equivalente.Converts the string representation of a number to its 64-bit signed integer equivalent.

public:
 static long Parse(System::String ^ s);
public static long Parse (string s);
static member Parse : string -> int64
Public Shared Function Parse (s As String) As Long

Parâmetros

s
String String String String

Uma cadeia de caracteres que contém um número a ser convertido.A string containing a number to convert.

Retornos

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

Exceções

s não está no formato correto.s is not in the correct format.

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

Exemplos

O exemplo a seguir demonstra como converter um valor de cadeia de caracteres em um valor inteiro assinado de 64 Int64.Parse(String) bits usando o método.The following example demonstrates how to convert a string value into a 64-bit signed integer value using the Int64.Parse(String) method. Em seguida, ele exibe o valor inteiro longo resultante.It then displays the resulting long integer value.

using System;

public class ParseInt64
{
   public static void Main()
   {
      Convert("  179042  ");
      Convert(" -2041326 ");
      Convert(" +8091522 ");
      Convert("   1064.0   ");
      Convert("  178.3");
      Convert(String.Empty);
      Convert(((decimal) Int64.MaxValue) + 1.ToString());
   }

   private static void Convert(string value)
   {
      try
      {
         long number = Int64.Parse(value);
         Console.WriteLine("Converted '{0}' to {1}.", value, number);
      }
      catch (FormatException)
      {
         Console.WriteLine("Unable to convert '{0}'.", value);
      }
      catch (OverflowException)
      {
         Console.WriteLine("'{0}' is out of range.", value);
      }
   }
}
// This example displays the following output to the console:
//       Converted '  179042  ' to 179042.
//       Converted ' -2041326 ' to -2041326.
//       Converted ' +8091522 ' to 8091522.
//       Unable to convert '   1064.0   '.
//       Unable to convert '  178.3'.
//       Unable to convert ''.
//       '92233720368547758071' is out of range.
Module ParseInt64
   Public Sub Main()
      Convert("  179032  ")
      Convert(" -2041326 ")
      Convert(" +8091522 ")
      Convert("   1064.0   ")
      Convert("  178.3")
      Convert(String.Empty)
      Convert((CDec(Int64.MaxValue) + 1).ToString())
   End Sub

   Private Sub Convert(value As String)
      Try
         Dim number As Long = Int64.Parse(value)
         Console.WriteLine("Converted '{0}' to {1}.", value, number)
      Catch e As FormatException
         Console.WriteLine("Unable to convert '{0}'.", value)
      Catch e As OverflowException
         Console.WriteLine("'{0}' is out of range.", value)      
      End Try
   End Sub
End Module
' This example displays the following output to the console:
'       Converted '  179032  ' to 179032.
'       Converted ' -2041326 ' to -2041326.
'       Converted ' +8091522 ' to 8091522.
'       Unable to convert '   1064.0   '.
'       Unable to convert '  178.3'.
'       Unable to convert ''.
'       '9223372036854775808' is out of range.

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]

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.
sinalsign Um sinal opcional.An optional sign.
dígitosdigits 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-se o estilo NumberStyles.Integer.The s parameter is interpreted using the NumberStyles.Integer style. Além de dígitos decimais, apenas espaços à direita e à esquerda com um sinal à esquerda são permitidos.In addition to decimal digits, only leading and trailing spaces together with a leading sign are allowed. Para definir explicitamente os elementos de estilo que podem estar presentes sno, use o Int64.Parse(String, NumberStyles) ou o Int64.Parse(String, NumberStyles, IFormatProvider) método.To explicitly define the style elements that can be present in s, use either the Int64.Parse(String, NumberStyles) or the Int64.Parse(String, NumberStyles, IFormatProvider) method.

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 using the formatting information in a NumberFormatInfo object that is initialized for the current system culture. Para analisar uma cadeia de caracteres usando as informações de formatação de alguma outra cultura Int64.Parse(String, NumberStyles, IFormatProvider) , use o método.To parse a string using the formatting information of some other culture, use the Int64.Parse(String, NumberStyles, IFormatProvider) method.

Veja também

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 inteiro com sinal de 64 bits equivalente.Converts the string representation of a number in a specified culture-specific format to its 64-bit signed integer equivalent.

public:
 static long Parse(System::String ^ s, IFormatProvider ^ provider);
public static long Parse (string s, IFormatProvider provider);
static member Parse : string * IFormatProvider -> int64
Public Shared Function Parse (s As String, provider As IFormatProvider) As Long

Parâmetros

s
String String String String

Uma cadeia de caracteres que contém um número a ser convertido.A string containing a 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 com sinal de 64 bits equivalente ao número especificado em s.A 64-bit signed integer equivalent to the number specified in s.

Exceções

s não está no formato correto.s is not in the correct format.

s representa um número menor que MinValue ou maior que MaxValue.s represents a number 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 a esse CultureInfo objeto é passado para o Parse(String, IFormatProvider) método para converter a entrada do usuário em um Int64 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 an Int64 value.

protected void OkToLong_Click(object sender, EventArgs e)
{
   string locale;
   long 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 = Int64.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 OkToLong_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles OkToLong.Click
   Dim locale As String
   Dim culture As CultureInfo
   Dim number As Long

   ' 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 = Int64.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

Normalmente, essa sobrecarga Parse(String, IFormatProvider) do método é usada para converter o texto que pode ser formatado de várias maneiras para um Int64 valor.This overload of the Parse(String, IFormatProvider) method is typically used to convert text that can be formatted in a variety of ways to an Int64 value. Por exemplo, ele pode ser usado para converter o texto inserido por usuário em uma caixa de texto HTML em um 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.

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]

Os itens entre colchetes ([e]) são opcionais e outros itens são os seguintes.Items in square brackets ([ and ]) are optional, and other items are as follows.

wsws
Um espaço em branco opcional.An optional white space.

sinalsign
Um sinal opcional.An optional sign.

dígitosdigits
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-se o estilo NumberStyles.Integer.The s parameter is interpreted using the NumberStyles.Integer style. Além de dígitos decimais, apenas espaços à direita e à esquerda com um sinal à esquerda são permitidos.In addition to decimal digits, only leading and trailing spaces together with a leading sign are allowed. Para definir explicitamente os elementos de estilo que podem estar presentes sno, use Int64.Parse(String, NumberStyles, IFormatProvider) o método.To explicitly define the style elements that can be present in s, use the Int64.Parse(String, NumberStyles, IFormatProvider) method.

O parâmetro provider é uma implementação de IFormatProvider, como um objeto NumberFormatInfo ou CultureInfo.The provider parameter is an IFormatProvider implementation, such as a NumberFormatInfo or CultureInfo object. O provider parâmetro fornece informações específicas de cultura sobre o formato de s.The provider parameter supplies culture-specific information about the format of s. 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