BigInteger.Parse BigInteger.Parse BigInteger.Parse BigInteger.Parse Method

Definição

Converte a representação da cadeia de caracteres de um número no BigInteger equivalente.Converts the string representation of a number to its BigInteger equivalent.

Sobrecargas

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

Converte a representação da cadeia de caracteres de um número no BigInteger equivalente.Converts the string representation of a number to its BigInteger equivalent.

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 seu BigInteger equivalente.Converts the string representation of a number in a specified style to its BigInteger 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 da cultura especificado em seu equivalente de BigInteger.Converts the string representation of a number in a specified culture-specific format to its BigInteger equivalent.

Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider) Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider) Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider)
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 com um estilo especificado e um formato específico à cultura para seu BigInteger equivalente.Converts the string representation of a number in a specified style and culture-specific format to its BigInteger equivalent.

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

Converte a representação da cadeia de caracteres de um número no BigInteger equivalente.Converts the string representation of a number to its BigInteger equivalent.

public:
 static System::Numerics::BigInteger Parse(System::String ^ value);
public static System.Numerics.BigInteger Parse (string value);
static member Parse : string -> System.Numerics.BigInteger
Public Shared Function Parse (value As String) As BigInteger

Parâmetros

value
String String String String

Uma cadeia de caracteres que contém o número a ser convertido.A string that contains the number to convert.

Retornos

Um valor equivalente ao número especificado no parâmetro value.A value that is equivalent to the number specified in the value parameter.

Exceções

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

Exemplos

O exemplo a seguir usa Parse(String) o método para instanciar dois BigInteger objetos.The following example uses the Parse(String) method to instantiate two BigInteger objects. Ele multiplica cada objeto por outro número e, em seguida, Compare chama o método para determinar a relação entre os dois valores.It multiplies each object by another number and then calls the Compare method to determine the relationship between the two values.

string stringToParse = String.Empty;
try
{
   // Parse two strings.
   string string1, string2;
   string1 = "12347534159895123";
   string2 = "987654321357159852";
   stringToParse = string1;
   BigInteger number1 = BigInteger.Parse(stringToParse);
   Console.WriteLine("Converted '{0}' to {1:N0}.", stringToParse, number1);        
   stringToParse = string2;
   BigInteger number2 = BigInteger.Parse(stringToParse);
   Console.WriteLine("Converted '{0}' to {1:N0}.", stringToParse, number2);
   // Perform arithmetic operations on the two numbers.
   number1 *= 3;
   number2 *= 2;
   // Compare the numbers.
   int result = BigInteger.Compare(number1, number2);
   switch (result)
   {
      case -1:
         Console.WriteLine("{0} is greater than {1}.", number2, number1);
         break;
      case 0:
         Console.WriteLine("{0} is equal to {1}.", number1, number2);
         break;
      case 1:
         Console.WriteLine("{0} is greater than {1}.", number1, number2);
         break;
   }      
}
catch (FormatException)
{
   Console.WriteLine("Unable to parse {0}.", stringToParse);
}
// The example displays the following output:
//    Converted '12347534159895123' to 12,347,534,159,895,123.
//    Converted '987654321357159852' to 987,654,321,357,159,852.
//    1975308642714319704 is greater than 37042602479685369.      
Dim stringToParse As String = String.Empty
Try
   ' Parse two strings.
   Dim string1, string2 As String
   string1 = "12347534159895123"
   string2 = "987654321357159852"
   stringToParse = string1
   Dim number1 As BigInteger = BigInteger.Parse(stringToParse)
   Console.WriteLine("Converted '{0}' to {1:N0}.", stringToParse, number1)
   stringToParse = string2
   Dim number2 As BigInteger = BigInteger.Parse(stringToParse)
   Console.WriteLine("Converted '{0}' to {1:N0}.", stringToParse, number2)
   ' Perform arithmetic operations on the two numbers.
   number1 *= 3
   number2 *= 2
   ' Compare the numbers.
   Select Case BigInteger.Compare(number1, number2)
      Case -1
         Console.WriteLine("{0} is greater than {1}.", number2, number1)
      Case 0
         Console.WriteLine("{0} is equal to {1}.", number1, number2)
      Case 1
         Console.WriteLine("{0} is greater than {1}.", number1, number2)
   End Select      
Catch e As FormatException
   Console.WriteLine("Unable to parse {0}.", stringToParse)
End Try
' The example displays the following output:
'    Converted '12347534159895123' to 12,347,534,159,895,123.
'    Converted '987654321357159852' to 987,654,321,357,159,852.
'    1975308642714319704 is greater than 37042602479685369.      

Comentários

O value parâmetro deve ser a representação de cadeia de caracteres de um número no formulário a seguir.The value 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.
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 value pelo parâmetro é interpretada NumberStyles.Integer usando o estilo.The string specified by the value 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 value é analisado usando-se as informações de formatação em um objeto System.Globalization.NumberFormatInfo que é inicializado para a cultura do sistema atual.The value 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, Parse(String, IFormatProvider) use o método.To parse a string by using the formatting information of a specific culture, use the Parse(String, IFormatProvider) method.

Importante

Se você usar o Parse método para fazer ida e volta da representação de cadeia BigInteger de caracteres de um valor ToString que foi gerado pelo método, você BigInteger.ToString(String) deve usar o método com o especificador de formato "R" para gerar a representação de cadeia de caracteres do BigInteger valor.If you use the Parse method to round-trip the string representation of a BigInteger value that was output by the ToString method, you should use the BigInteger.ToString(String) method with the "R" format specifier to generate the string representation of the BigInteger value. Caso contrário, a representação de cadeia BigInteger de caracteres do preserva apenas os dígitos mais significativos 50 do valor original, e os dados podem ser perdidos quando você usa Parse o método para restaurar BigInteger o valor.Otherwise, the string representation of the BigInteger preserves only the 50 most significant digits of the original value, and data may be lost when you use the Parse method to restore the BigInteger value.

Veja também

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 seu BigInteger equivalente.Converts the string representation of a number in a specified style to its BigInteger equivalent.

public:
 static System::Numerics::BigInteger Parse(System::String ^ value, System::Globalization::NumberStyles style);
public static System.Numerics.BigInteger Parse (string value, System.Globalization.NumberStyles style);
static member Parse : string * System.Globalization.NumberStyles -> System.Numerics.BigInteger
Public Shared Function Parse (value As String, style As NumberStyles) As BigInteger

Parâmetros

value
String String String String

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

style
NumberStyles NumberStyles NumberStyles NumberStyles

Um combinação bit a bit de valores de enumeração que especificam o formato permitido de value.A bitwise combination of the enumeration values that specify the permitted format of value.

Retornos

Um valor equivalente ao número especificado no parâmetro value.A value that is equivalent to the number specified in the value parameter.

Exceções

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

- ou --or- style inclui o sinalizador AllowHexSpecifier ou HexNumber em conjunto com outro valor.style includes the AllowHexSpecifier or HexNumber flag along with another value.

value não é compatível com o padrão de entrada especificado por NumberStyles.value does not comply with the input pattern specified by NumberStyles.

Exemplos

O exemplo a seguir ilustra as chamadas Parse(String, NumberStyles) para o método com vários valores possíveis style para o parâmetro.The following example illustrates calls to the Parse(String, NumberStyles) method with several possible values for the style parameter. Ele ilustra como interpretar uma cadeia de caracteres como um valor hexadecimal e como não permitir espaços e assinar símbolos.It illustrates how to interpret a string as a hexadecimal value, and how to disallow spaces and sign symbols.

BigInteger number; 
// Method should succeed (white space and sign allowed)
number = BigInteger.Parse("   -68054   ", NumberStyles.Integer);
Console.WriteLine(number);
// Method should succeed (string interpreted as hexadecimal)
number = BigInteger.Parse("68054", NumberStyles.AllowHexSpecifier);
Console.WriteLine(number);
// Method call should fail: sign not allowed
try
{
   number = BigInteger.Parse("   -68054  ", NumberStyles.AllowLeadingWhite 
                                            | NumberStyles.AllowTrailingWhite);
   Console.WriteLine(number);
}   
catch (FormatException e)
{
   Console.WriteLine(e.Message);
}                                                     
// Method call should fail: white space not allowed
try
{
   number = BigInteger.Parse("   68054  ", NumberStyles.AllowLeadingSign);
   Console.WriteLine(number);
}
catch (FormatException e)
{
   Console.WriteLine(e.Message);
}    
//
// The method produces the following output:
//
//     -68054
//     426068
//     Input string was not in a correct format.
//     Input string was not in a correct format.                                                 
Dim number As BigInteger 
' Method should succeed (white space and sign allowed)
number = BigInteger.Parse("   -68054   ", NumberStyles.Integer)
Console.WriteLine(number)
' Method should succeed (string interpreted as hexadecimal)
number = BigInteger.Parse("68054", NumberStyles.AllowHexSpecifier)
Console.WriteLine(number)
' Method call should fail: sign not allowed
Try
   number = BigInteger.Parse("   -68054  ", NumberStyles.AllowLeadingWhite _
                                            Or NumberStyles.AllowTrailingWhite)
   Console.WriteLine(number)
Catch e As FormatException
   Console.WriteLine(e.Message)
End Try                                                     
' Method call should fail: white space not allowed
Try
   number = BigInteger.Parse("   68054  ", NumberStyles.AllowLeadingSign)
   Console.WriteLine(number)
Catch e As FormatException
   Console.WriteLine(e.Message)
End Try    
'
' The method produces the following output:
'
'     -68054
'     426068
'     Input string was not in a correct format.
'     Input string was not in a correct format.                                                 

Comentários

O style parâmetro define os elementos de estilo (como espaço em branco, símbolo de sinal positivo ou negativo, o símbolo do separador de grupo ou o símbolo de ponto decimal) value 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, the group separator symbol, or the decimal point symbol) that are allowed in the value parameter for the parse operation to succeed. stylesdeve ser uma combinação de sinalizadores de bit da NumberStyles enumeração.styles must be a combination of bit flags from the NumberStyles enumeration. O style parâmetro torna esse método sobrecarga útil quando value contém a representação de cadeia de caracteres de um valor hexadecimal, quando o sistema numérico (decimal ou hexadecimal value ) representado pelo é conhecido apenas no tempo de execução ou quando você deseja não permitir espaço em branco ou símbolo de sinal valuede entrada.The style parameter makes this method overload useful when value contains the string representation of a hexadecimal value, when the number system (decimal or hexadecimal) represented by value is known only at run time, or when you want to disallow white space or a sign symbol in value.

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

[WS] [$] [Sign] [dígitos,]dígitos[. fractional_digits] [E [Sign]exponential_digits] [WS][ws][$][sign][digits,]digits[.fractional_digits][E[sign]exponential_digits][ws]

Caso style inclua NumberStyles.AllowHexSpecifier, o parâmetro value pode conter os seguintes elementos:If style includes NumberStyles.AllowHexSpecifier, the value parameter may contain the following elements:

[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. O espaço em branco pode aparecer no início value de style se inclui NumberStyles.AllowLeadingWhite o sinalizador e pode aparecer no final de value se style incluir o NumberStyles.AllowTrailingWhite sinalizador.White space can appear at the start of value if style includes the NumberStyles.AllowLeadingWhite flag, and it can appear at the end of value 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 value caso style inclua o sinalizador NumberStyles.AllowCurrencySymbol.The current culture's currency symbol can appear in value if style includes the NumberStyles.AllowCurrencySymbol flag.
signsign Um sinal opcional.An optional sign. O sinal pode ser exibido no início de value caso style inclua o sinalizador NumberStyles.AllowLeadingSign e ele pode ser exibido no final de value caso style inclua o sinalizador NumberStyles.AllowTrailingSign.The sign can appear at the start of value if style includes the NumberStyles.AllowLeadingSign flag, and it can appear at the end of value if style includes the NumberStyles.AllowTrailingSign flag. Os parênteses podem ser usados em value para indicar um valor negativo caso style inclua o sinalizador NumberStyles.AllowParentheses.Parentheses can be used in value 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 do grupo específico da cultura.A culture-specific group separator symbol. O separador de grupo da cultura atual value pode style aparecer em NumberStyles.AllowThousands se incluir o sinalizador.The current culture's group separator can appear in value 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 value caso style inclua o sinalizador NumberStyles.AllowDecimalPoint.The current culture's decimal point symbol can appear in value if style includes the NumberStyles.AllowDecimalPoint flag. Somente o dígito 0 pode aparecer como um dígito fracionário para que a operação de análise seja bem sucedido; Se fractional_digits incluir qualquer outro dígito, um FormatException será 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, 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 value pode representar um número em notação exponencial caso style inclua o sinalizador NumberStyles.AllowExponent.The value 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 ê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 value.The following table indicates how individual NumberStyles members affect the elements that may be present in value.

Valor NumberStylesNumberStyles value Elementos permitidos em value além de dígitosElements permitted in value in addition to digits
None Somente ** o elemento digits.The digits element only.
AllowDecimalPoint Os elementos de ponto decimal (.) e de dígitos fracionários .The decimal point (.) and fractional-digits elements.
AllowExponent O caractere "e" ou "E", que indica notação exponencial, junto com exponential_digits.The "e" or "E" character, which indicates exponential notation, along with exponential_digits.
AllowLeadingWhite O elemento WS no início de value.The ws element at the start of value.
AllowTrailingWhite O elemento ws no final de value.The ws element at the end of value.
AllowLeadingSign O elemento Sign no início de value.The sign element at the start of value.
AllowTrailingSign O elemento sinal no final de value.The sign element at the end of value.
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, value não pode representar um número hexadecimal ou um número em notação exponencial.However, value cannot represent a hexadecimal number or a number in exponential notation.
Float O elemento WS no início ou no final de value, entre no início de valuee no símbolo de ponto decimal (.).The ws element at the start or end of value, sign at the start of value, and the decimal point (.) symbol. O parâmetro value também pode usar notação exponencial.The value parameter can also use exponential notation.
Number Os wselementos sign,, separador de grupo (,) e ponto decimal (.).The ws, sign, group separator (,), and decimal point (.) elements.
Any Todos os elementos.All elements. No entanto, value não pode representar um número hexadecimal.However, value cannot represent a hexadecimal number.

Importante

Se você usar o Parse método para fazer ida e volta da representação de cadeia BigInteger de caracteres de um valor ToString que foi gerado pelo método, você BigInteger.ToString(String) deve usar o método com o especificador de formato "R" para gerar a representação de cadeia de caracteres do BigInteger valor.If you use the Parse method to round-trip the string representation of a BigInteger value that was output by the ToString method, you should use the BigInteger.ToString(String) method with the "R" format specifier to generate the string representation of the BigInteger value. Caso contrário, a representação de cadeia BigInteger de caracteres do preserva apenas os dígitos mais significativos 50 do valor original, e os dados podem ser perdidos quando você usa Parse o método para restaurar BigInteger o valor.Otherwise, the string representation of the BigInteger preserves only the 50 most significant digits of the original value, and data may be lost when you use the Parse method to restore the BigInteger value.

Ao contrário dos NumberStyles outros valores, que permitem, mas não exigem, a presença de elementos de estilo específicos no value, o NumberStyles.AllowHexSpecifier valor do estilo significa que os caracteres numéricos value individuais em são sempre interpretados como caracteres hexadecimais.Unlike the other NumberStyles values, which allow for, but do not require, the presence of particular style elements in value, the NumberStyles.AllowHexSpecifier style value means that the individual numeric characters in value 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. 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, HexNumber, que inclui ambos os sinalizadores de espaço em branco.)(The NumberStyles enumeration includes a composite number style, HexNumber, that includes both white-space flags.)

Observação

Caso value 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 value 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.

Se value for uma cadeia de caracteres hexadecimal Parse(String, NumberStyles) , o método value interpretará como um número negativo armazenado usando a representação complementar de duas se os dois primeiros dígitos hexadecimais forem maiores ou 0x80iguais a.If value is a hexadecimal string, the Parse(String, NumberStyles) method interprets value as a negative number stored by using two's complement representation if its first two hexadecimal digits are greater than or equal to 0x80. Em outras palavras, o método interpreta o bit de ordem mais alta do primeiro byte em value como o bit de sinal.In other words, the method interprets the highest-order bit of the first byte in value as the sign bit. Para garantir que uma cadeia de caracteres hexadecimal seja interpretada corretamente como um número positivo, o value primeiro dígito em deve ter um valor igual a zero.To make sure that a hexadecimal string is correctly interpreted as a positive number, the first digit in value must have a value of zero. Por exemplo, o método interpreta 0x80 como um valor negativo, mas interpreta 0x080 um ou 0x0080 um valor positivo.For example, the method interprets 0x80 as a negative value, but it interprets either 0x080 or 0x0080 as a positive value. O exemplo a seguir ilustra a diferença entre cadeias de caracteres hexadecimais que representam valores negativos e positivos.The following example illustrates the difference between hexadecimal strings that represent negative and positive values.

using System;
using System.Globalization;
using System.Numerics;

public class Example
{
   public static void Main()
   {
      string[] hexStrings = { "80", "E293", "F9A2FF", "FFFFFFFF", 
                              "080", "0E293", "0F9A2FF", "0FFFFFFFF",  
                              "0080", "00E293", "00F9A2FF", "00FFFFFFFF" };
      foreach (string hexString in hexStrings)
      {
         BigInteger number = BigInteger.Parse(hexString, NumberStyles.AllowHexSpecifier);
         Console.WriteLine("Converted 0x{0} to {1}.", hexString, number);
      }         
   }
}
// The example displays the following output:
//       Converted 0x80 to -128.
//       Converted 0xE293 to -7533.
//       Converted 0xF9A2FF to -417025.
//       Converted 0xFFFFFFFF to -1.
//       Converted 0x080 to 128.
//       Converted 0x0E293 to 58003.
//       Converted 0x0F9A2FF to 16360191.
//       Converted 0x0FFFFFFFF to 4294967295.
//       Converted 0x0080 to 128.
//       Converted 0x00E293 to 58003.
//       Converted 0x00F9A2FF to 16360191.
//       Converted 0x00FFFFFFFF to 4294967295.
Imports System.Globalization
Imports System.Numerics

Module Example
   Public Sub Main()
      Dim hexStrings() As String = { "80", "E293", "F9A2FF", "FFFFFFFF", 
                                     "080", "0E293", "0F9A2FF", "0FFFFFFFF",  
                                     "0080", "00E293", "00F9A2FF", "00FFFFFFFF" }
      For Each hexString As String In hexStrings
         Dim number As BigInteger = BigInteger.Parse(hexString, NumberStyles.AllowHexSpecifier)
         Console.WriteLine("Converted 0x{0} to {1}.", hexString, number)
      Next         
   End Sub
End Module
' The example displays the following output:
'       Converted 0x80 to -128.
'       Converted 0xE293 to -7533.
'       Converted 0xF9A2FF to -417025.
'       Converted 0xFFFFFFFF to -1.
'       Converted 0x080 to 128.
'       Converted 0x0E293 to 58003.
'       Converted 0x0F9A2FF to 16360191.
'       Converted 0x0FFFFFFFF to 4294967295.
'       Converted 0x0080 to 128.
'       Converted 0x00E293 to 58003.
'       Converted 0x00F9A2FF to 16360191.
'       Converted 0x00FFFFFFFF to 4294967295.

O parâmetro value é analisado usando-se as informações de formatação em um objeto NumberFormatInfo que é inicializado para a cultura do sistema atual.The value 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, Parse(String, NumberStyles, IFormatProvider) chame a 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, 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 da cultura especificado em seu equivalente de BigInteger.Converts the string representation of a number in a specified culture-specific format to its BigInteger equivalent.

public:
 static System::Numerics::BigInteger Parse(System::String ^ value, IFormatProvider ^ provider);
public static System.Numerics.BigInteger Parse (string value, IFormatProvider provider);
static member Parse : string * IFormatProvider -> System.Numerics.BigInteger
Public Shared Function Parse (value As String, provider As IFormatProvider) As BigInteger

Parâmetros

value
String String String String

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

provider
IFormatProvider IFormatProvider IFormatProvider IFormatProvider

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

Retornos

Um valor equivalente ao número especificado no parâmetro value.A value that is equivalent to the number specified in the value parameter.

Exceções

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

Exemplos

Os exemplos a seguir mostram duas maneiras de definir o til (~) como um sinal negativo para BigInteger os valores de formatação.The following examples show two ways to define the tilde (~) as a negative sign for formatting BigInteger values. Observe que para exibir os BigInteger valores no mesmo formato que as cadeias de caracteres originais, seu código deve BigInteger.ToString(IFormatProvider) chamar o método e passá NumberFormatInfo -lo para o objeto que fornece informações de formatação.Note that to display the BigInteger values in the same format as the original strings, your code must call the BigInteger.ToString(IFormatProvider) method and pass it the NumberFormatInfo object that provides formatting information.

O primeiro exemplo define uma classe que implementa IFormatProvider e usa o GetFormat método para retornar o NumberFormatInfo objeto que fornece informações de formatação.The first example defines a class that implements IFormatProvider and uses the GetFormat method to return the NumberFormatInfo object that provides formatting information.

public class BigIntegerFormatProvider : IFormatProvider
{
   public object GetFormat(Type formatType) 
   {
      if (formatType == typeof(NumberFormatInfo)) 
      {
         NumberFormatInfo numberFormat = new NumberFormatInfo();
         numberFormat.NegativeSign = "~";
         return numberFormat;
      }
      else
      {
         return null;
      }      
   }
}
Public Class BigIntegerFormatProvider : Implements IFormatProvider
   Public Function GetFormat(formatType As Type) As Object _
                            Implements IFormatProvider.GetFormat
      If formatType Is GetType(NumberFormatInfo) Then
         Dim numberFormat As New NumberFormatInfo
         numberFormat.NegativeSign = "~"
         Return numberFormat
      Else
         Return Nothing
      End If      
   End Function
End Class

Em BigInteger seguida, um objeto pode ser instanciado com o seguinte código:A BigInteger object can then be instantiated with the following code:

BigInteger number = BigInteger.Parse("~6354129876", new BigIntegerFormatProvider());
// Display value using same formatting information
Console.WriteLine(number.ToString(new BigIntegerFormatProvider()));
// Display value using formatting of current culture
Console.WriteLine(number);
Dim number As BigInteger = BigInteger.Parse("~6354129876", New BigIntegerFormatProvider)
' Display value using same formatting information
Console.WriteLine(number.ToString(New BigIntegerFormatProvider))
' Display value using formatting of current culture
Console.WriteLine(number)

O segundo exemplo é mais direto.The second example is more straightforward. Ele passa o NumberFormatInfo objeto que fornece informações de formatação para provider o parâmetro.It passes the NumberFormatInfo object that provides formatting information to the provider parameter.

NumberFormatInfo fmt = new NumberFormatInfo();
fmt.NegativeSign = "~";

BigInteger number = BigInteger.Parse("~6354129876", fmt);
// Display value using same formatting information
Console.WriteLine(number.ToString(fmt));
// Display value using formatting of current culture
Console.WriteLine(number);
Dim fmt As New NumberFormatInfo()
fmt.NegativeSign = "~"

Dim number As BigInteger = BigInteger.Parse("~6354129876", fmt)
' Display value using same formatting information
Console.WriteLine(number.ToString(fmt))
' Display value using formatting of current culture
Console.WriteLine(number)

Comentários

O value parâmetro deve ser a representação de cadeia de caracteres de um número no seguinte formato:The value 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 NumberFormatInfo.NegativeSign caracteres de sinal válidos são determinados pelas NumberFormatInfo.PositiveSign Propriedades e do NumberFormatInfo objeto que é retornado pelo provider método do GetFormat objeto.Valid sign characters are determined by the NumberFormatInfo.NegativeSign and NumberFormatInfo.PositiveSign properties of the NumberFormatInfo object that is returned by the provider object's GetFormat method.
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 value pelo parâmetro é interpretada usando o NumberStyles.Integer estilo.The string specified by the value parameter is interpreted 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.

Importante

Se você usar o Parse método para fazer ida e volta da representação de cadeia BigInteger de caracteres de um valor ToString que foi gerado pelo método, você BigInteger.ToString(String) deve usar o método com o especificador de formato "R" para gerar a representação de cadeia de caracteres do BigInteger valor.If you use the Parse method to round-trip the string representation of a BigInteger value that was output by the ToString method, you should use the BigInteger.ToString(String) method with the "R" format specifier to generate the string representation of the BigInteger value. Caso contrário, a representação de cadeia BigInteger de caracteres do preserva apenas os dígitos mais significativos 50 do valor original, e os dados podem ser perdidos quando você usa Parse o método para restaurar BigInteger o valor.Otherwise, the string representation of the BigInteger preserves only the 50 most significant digits of the original value, and data may be lost when you use the Parse method to restore the BigInteger value.

O provider parâmetro é uma IFormatProvider implementação cujo GetFormat método retorna um NumberFormatInfo objeto que fornece informações de formatação específicas de cultura.The provider parameter is an IFormatProvider implementation whose GetFormat method returns a NumberFormatInfo object that provides culture-specific formatting information. Quando o Parse(String, IFormatProvider) método é invocado, ele chama provider o método GetFormat do parâmetro e passa a Type ele um objeto que NumberFormatInfo representa o tipo.When the Parse(String, IFormatProvider) method is invoked, it calls the provider parameter's GetFormat method and passes it a Type object that represents the NumberFormatInfo type. Em GetFormat seguida, o método NumberFormatInfo retorna o objeto que fornece informações value sobre o formato do parâmetro.The GetFormat method then returns the NumberFormatInfo object that provides information about the format of the value parameter. 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 um objeto CultureInfo que representa a cultura que fornece informações de formatação.You can pass a CultureInfo object that represents the culture that supplies formatting information. O método GetFormat retorna o objeto NumberFormatInfo que fornece informações de formatação numérica para essa cultura.Its GetFormat method returns the NumberFormatInfo object that provides numeric formatting information for that culture.

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

  • É possível passar um objeto personalizado que implementa IFormatProvider.You can pass a custom object that implements IFormatProvider. O método GetFormat cria uma instância e retorna o objeto NumberFormatInfo que fornece informações de formatação.Its GetFormat method instantiates and returns the NumberFormatInfo object that provides formatting information.

Se provider value NumberFormatInfo for null, a formatação de será interpretada com base no objeto da cultura atual.If provider is null, the formatting of value is interpreted based on the NumberFormatInfo object of the current culture.

Veja também

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

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

Parâmetros

Retornos

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 com um estilo especificado e um formato específico à cultura para seu BigInteger equivalente.Converts the string representation of a number in a specified style and culture-specific format to its BigInteger equivalent.

public:
 static System::Numerics::BigInteger Parse(System::String ^ value, System::Globalization::NumberStyles style, IFormatProvider ^ provider);
public static System.Numerics.BigInteger Parse (string value, System.Globalization.NumberStyles style, IFormatProvider provider);
static member Parse : string * System.Globalization.NumberStyles * IFormatProvider -> System.Numerics.BigInteger
Public Shared Function Parse (value As String, style As NumberStyles, provider As IFormatProvider) As BigInteger

Parâmetros

value
String String String String

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

style
NumberStyles NumberStyles NumberStyles NumberStyles

Um combinação bit a bit de valores de enumeração que especificam o formato permitido de value.A bitwise combination of the enumeration values that specify the permitted format of value.

provider
IFormatProvider IFormatProvider IFormatProvider IFormatProvider

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

Retornos

Um valor equivalente ao número especificado no parâmetro value.A value that is equivalent to the number specified in the value parameter.

Exceções

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

- ou --or- style inclui o sinalizador AllowHexSpecifier ou HexNumber em conjunto com outro valor.style includes the AllowHexSpecifier or HexNumber flag along with another value.

value não é compatível com o padrão de entrada especificado por style.value does not comply with the input pattern specified by style.

Exemplos

O exemplo a seguir faz várias chamadas para Parse(String, NumberStyles, IFormatProvider) o método usando várias combinações de valores para style os provider parâmetros e.The following example makes several calls to the Parse(String, NumberStyles, IFormatProvider) method using various combinations of values for the style and provider parameters.

// Call parse with default values of style and provider
Console.WriteLine(BigInteger.Parse("  -300   ", 
                  NumberStyles.Integer, CultureInfo.CurrentCulture));
// Call parse with default values of style and provider supporting tilde as negative sign
Console.WriteLine(BigInteger.Parse("   ~300  ", 
                                   NumberStyles.Integer, new BigIntegerFormatProvider()));
// Call parse with only AllowLeadingWhite and AllowTrailingWhite
// Exception thrown because of presence of negative sign
try
{
   Console.WriteLine(BigInteger.Parse("    ~300   ", 
                                NumberStyles.AllowLeadingWhite | NumberStyles.AllowTrailingWhite, 
                                new BigIntegerFormatProvider()));
}
catch (FormatException e)
{
   Console.WriteLine("{0}: \n   {1}", e.GetType().Name, e.Message);
}                                   
// Call parse with only AllowHexSpecifier
// Exception thrown because of presence of negative sign
try
{
   Console.WriteLine(BigInteger.Parse("-3af", NumberStyles.AllowHexSpecifier, 
                                      new BigIntegerFormatProvider()));
}
catch (FormatException e)
{
   Console.WriteLine("{0}: \n   {1}", e.GetType().Name, e.Message);
}                                 
// Call parse with only NumberStyles.None
// Exception thrown because of presence of white space and sign
try
{
   Console.WriteLine(BigInteger.Parse(" -300 ", NumberStyles.None, 
                                      new BigIntegerFormatProvider()));
}
catch (FormatException e)
{
   Console.WriteLine("{0}: \n   {1}", e.GetType().Name, e.Message);
}
// The example displays the followingoutput:
//       -300
//       -300
//       FormatException:
//          The value could not be parsed.
//       FormatException:
//          The value could not be parsed.
//       FormatException:
//          The value could not be parsed.      
' Call parse with default values of style and provider
Console.WriteLine(BigInteger.Parse("  -300   ", _
                  NumberStyles.Integer, CultureInfo.CurrentCulture))
' Call parse with default values of style and provider supporting tilde as negative sign
Console.WriteLine(BigInteger.Parse("   ~300  ", _
                                   NumberStyles.Integer, New BigIntegerFormatProvider()))
' Call parse with only AllowLeadingWhite and AllowTrailingWhite
' Exception thrown because of presence of negative sign
Try
   Console.WriteLIne(BigInteger.Parse("    ~300   ", _
                                      NumberStyles.AllowLeadingWhite Or NumberStyles.AllowTrailingWhite, _
                                      New BigIntegerFormatProvider()))
Catch e As FormatException
   Console.WriteLine("{0}: {1}   {2}", e.GetType().Name, vbCrLf, e.Message)
End Try                                   
' Call parse with only AllowHexSpecifier
' Exception thrown because of presence of negative sign
Try
   Console.WriteLIne(BigInteger.Parse("-3af", NumberStyles.AllowHexSpecifier, _
                                      New BigIntegerFormatProvider()))
Catch e As FormatException
   Console.WriteLine("{0}: {1}   {2}", e.GetType().Name, vbCrLf, e.Message)
End Try                                 
' Call parse with only NumberStyles.None
' Exception thrown because of presence of white space and sign
Try
   Console.WriteLIne(BigInteger.Parse(" -300 ", NumberStyles.None, _
                                      New BigIntegerFormatProvider()))
Catch e As FormatException
   Console.WriteLine("{0}: {1}   {2}", e.GetType().Name, vbCrLf, e.Message)
End Try
' The example displays the following output:
'       -300
'       -300
'       FormatException:
'          The value could not be parsed.
'       FormatException:
'          The value could not be parsed.
'       FormatException:
'          The value could not be parsed.            

Um número de chamadas individuais para o Parse(String, NumberStyles, IFormatProvider) método passa uma instância da seguinte BigIntegerFormatProvider classe, que define um til (~) como o sinal negativo.A number of the individual calls to the Parse(String, NumberStyles, IFormatProvider) method pass an instance of the following BigIntegerFormatProvider class, which defines a tilde (~) as the negative sign.

public class BigIntegerFormatProvider : IFormatProvider
{
   public object GetFormat(Type formatType) 
   {
      if (formatType == typeof(NumberFormatInfo)) 
      {
         NumberFormatInfo numberFormat = new NumberFormatInfo();
         numberFormat.NegativeSign = "~";
         return numberFormat;
      }
      else
      {
         return null;
      }      
   }
}
Public Class BigIntegerFormatProvider : Implements IFormatProvider
   Public Function GetFormat(formatType As Type) As Object _
                            Implements IFormatProvider.GetFormat
      If formatType Is GetType(NumberFormatInfo) Then
         Dim numberFormat As New NumberFormatInfo
         numberFormat.NegativeSign = "~"
         Return numberFormat
      Else
         Return Nothing
      End If      
   End Function
End Class

Comentários

O style parâmetro define os elementos de estilo (como espaço em branco, símbolo de sinal positivo ou negativo, o símbolo do separador de grupo ou o símbolo de ponto decimal) value 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, the group separator symbol, or the decimal point symbol) that are allowed in the value parameter for the parse operation to succeed. stylesdeve ser uma combinação de sinalizadores de bit da NumberStyles enumeração.styles must be a combination of bit flags from the NumberStyles enumeration. O style parâmetro torna esse método sobrecarga útil quando value contém a representação de cadeia de caracteres de um valor hexadecimal, quando o sistema numérico (decimal ou hexadecimal value ) representado pelo é conhecido apenas no tempo de execução ou quando você deseja não permitir espaço em branco ou símbolo de sinal valuede entrada.The style parameter makes this method overload useful when value contains the string representation of a hexadecimal value, when the number system (decimal or hexadecimal) represented by value is known only at run time, or when you want to disallow white space or a sign symbol in value.

Dependendo do valor de style, o parâmetro value pode incluir os seguintes elementos:Depending on the value of style, the value 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]

Se style incluir NumberStyles.AllowHexSpecifier, ovalue parâmetro poderá incluir os seguintes elementos:If style includes NumberStyles.AllowHexSpecifier, the value parameter may include the following elements:

[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. O espaço em branco pode aparecer no início value de style se inclui NumberStyles.AllowLeadingWhite o sinalizador e pode aparecer no final de value se style incluir o NumberStyles.AllowTrailingWhite sinalizador.White space can appear at the start of value if style includes the NumberStyles.AllowLeadingWhite flag, and it can appear at the end of value 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 pelas NumberFormatInfo.CurrencyNegativePattern propriedades NumberFormatInfo.CurrencyPositivePattern e da cultura indicada pelo provider parâmetro.Its position in the string is defined by the NumberFormatInfo.CurrencyNegativePattern and NumberFormatInfo.CurrencyPositivePattern properties of the culture indicated by the provider parameter. O símbolo de moeda da cultura atual pode ser exibido em value caso style inclua o sinalizador NumberStyles.AllowCurrencySymbol.The current culture's currency symbol can appear in value if style includes the NumberStyles.AllowCurrencySymbol flag.
signsign Um sinal opcional.An optional sign. O sinal pode ser exibido no início de value caso style inclua o sinalizador NumberStyles.AllowLeadingSign e ele pode ser exibido no final de value caso style inclua o sinalizador NumberStyles.AllowTrailingSign.The sign can appear at the start of value if style includes the NumberStyles.AllowLeadingSign flag, and it can appear at the end of value if style includes the NumberStyles.AllowTrailingSign flag. Os parênteses podem ser usados em value para indicar um valor negativo caso style inclua o sinalizador NumberStyles.AllowParentheses.Parentheses can be used in value 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 do grupo específico da cultura.A culture-specific group separator symbol. O símbolo do separador de grupo da provider cultura especificada por value pode style aparecer em NumberStyles.AllowThousands se incluir o sinalizador.The group separator symbol of the culture specified by provider can appear in value 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 de ponto decimal da cultura designada provider por pode aparecer value em style se incluir NumberStyles.AllowDecimalPoint o sinalizador.The decimal point symbol of the culture designated by provider can appear in value if style includes the NumberStyles.AllowDecimalPoint flag. Somente o dígito 0 pode aparecer como um dígito fracionário para que a operação de análise seja bem sucedido; Se fractional_digits incluir qualquer outro dígito, um FormatException será 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, 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 value pode representar um número em notação exponencial caso style inclua o sinalizador NumberStyles.AllowExponent.The value 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 ê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 value.The following table indicates how individual NumberStyles members affect the elements that may be present in value.

Valor NumberStylesNumberStyles value Elementos permitidos no valor além de dígitosElements permitted in value in addition to digits
None Somente ** o elemento digits.The digits element only.
AllowDecimalPoint Os elementos de ponto decimal (.) e de dígitos fracionários .The decimal point (.) and fractional-digits elements.
AllowExponent O caractere "e" ou "E", que indica a notação exponencial.The "e" or "E" character, which indicates exponential notation. junto com exponential_digits.along with exponential_digits.
AllowLeadingWhite O elemento WS no início de value.The ws element at the start of value.
AllowTrailingWhite O elemento ws no final de value.The ws element at the end of value.
AllowLeadingSign O elemento Sign no início de value.The sign element at the start of value.
AllowTrailingSign O elemento sinal no final de value.The sign element at the end of value.
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, value não pode representar um número hexadecimal ou um número em notação exponencial.However, value cannot represent a hexadecimal number or a number in exponential notation.
Float O elemento WS no início ou no final de value, entre no início de valuee no símbolo de ponto decimal (.).The ws element at the start or end of value, sign at the start of value, and the decimal point (.) symbol. O parâmetro value também pode usar notação exponencial.The value parameter can also use exponential notation.
Number Os wselementos sign,, separador de grupo (,) e ponto decimal (.).The ws, sign, group separator (,), and decimal point (.) elements.
Any Todos os elementos.All elements. No entanto, value não pode representar um número hexadecimal.However, value cannot represent a hexadecimal number.

Importante

Se você usar o Parse método para fazer ida e volta da representação de cadeia BigInteger de caracteres de um valor ToString que foi gerado pelo método, você BigInteger.ToString(String) deve usar o método com o especificador de formato "R" para gerar a representação de cadeia de caracteres do BigInteger valor.If you use the Parse method to round-trip the string representation of a BigInteger value that was output by the ToString method, you should use the BigInteger.ToString(String) method with the "R" format specifier to generate the string representation of the BigInteger value. Caso contrário, a representação de cadeia BigInteger de caracteres do preserva apenas os dígitos mais significativos 50 do valor original, e os dados podem ser perdidos quando você usa Parse o método para restaurar BigInteger o valor.Otherwise, the string representation of the BigInteger preserves only the 50 most significant digits of the original value, and data may be lost when you use the Parse method to restore the BigInteger value.

Ao contrário dos NumberStyles outros valores, que permitem, mas não exigem a presença de elementos de estilo específicos valueno, NumberStyles.AllowHexSpecifier o valor do estilo significa que os caracteres numéricos individuais em value são sempre interpretados como caracteres hexadecimais.Unlike the other NumberStyles values, which allow for but do not require the presence of particular style elements in value, the NumberStyles.AllowHexSpecifier style value means that the individual numeric characters in value 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. 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, HexNumber, que inclui ambos os sinalizadores de espaço em branco.)(The NumberStyles enumeration includes a composite number style, HexNumber, that includes both white-space flags.)

Observação

Caso value 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 value 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.

Se value for uma cadeia de caracteres hexadecimal Parse(String, NumberStyles) , o método value interpretará como um número negativo armazenado usando a representação complementar de duas se os dois primeiros dígitos hexadecimais forem maiores ou 0x80iguais a.If value is a hexadecimal string, the Parse(String, NumberStyles) method interprets value as a negative number stored by using two's complement representation if its first two hexadecimal digits are greater than or equal to 0x80. Em outras palavras, o método interpreta o bit de ordem mais alta do primeiro byte em value como o bit de sinal.In other words, the method interprets the highest-order bit of the first byte in value as the sign bit. Para garantir que uma cadeia de caracteres hexadecimal seja interpretada corretamente como um número positivo, o value primeiro dígito em deve ter um valor igual a zero.To make sure that a hexadecimal string is correctly interpreted as a positive number, the first digit in value must have a value of zero. Por exemplo, o método interpreta 0x80 como um valor negativo, mas interpreta 0x080 um ou 0x0080 um valor positivo.For example, the method interprets 0x80 as a negative value, but it interprets either 0x080 or 0x0080 as a positive value. O exemplo a seguir ilustra a diferença entre cadeias de caracteres hexadecimais que representam valores negativos e positivos.The following example illustrates the difference between hexadecimal strings that represent negative and positive values.

using System;
using System.Globalization;
using System.Numerics;

public class Example
{
   public static void Main()
   {
      string[] hexStrings = { "80", "E293", "F9A2FF", "FFFFFFFF", 
                              "080", "0E293", "0F9A2FF", "0FFFFFFFF",  
                              "0080", "00E293", "00F9A2FF", "00FFFFFFFF" };
      foreach (string hexString in hexStrings)
      {
         BigInteger number = BigInteger.Parse(hexString, NumberStyles.AllowHexSpecifier);
         Console.WriteLine("Converted 0x{0} to {1}.", hexString, number);
      }         
   }
}
// The example displays the following output:
//       Converted 0x80 to -128.
//       Converted 0xE293 to -7533.
//       Converted 0xF9A2FF to -417025.
//       Converted 0xFFFFFFFF to -1.
//       Converted 0x080 to 128.
//       Converted 0x0E293 to 58003.
//       Converted 0x0F9A2FF to 16360191.
//       Converted 0x0FFFFFFFF to 4294967295.
//       Converted 0x0080 to 128.
//       Converted 0x00E293 to 58003.
//       Converted 0x00F9A2FF to 16360191.
//       Converted 0x00FFFFFFFF to 4294967295.
Imports System.Globalization
Imports System.Numerics

Module Example
   Public Sub Main()
      Dim hexStrings() As String = { "80", "E293", "F9A2FF", "FFFFFFFF", 
                                     "080", "0E293", "0F9A2FF", "0FFFFFFFF",  
                                     "0080", "00E293", "00F9A2FF", "00FFFFFFFF" }
      For Each hexString As String In hexStrings
         Dim number As BigInteger = BigInteger.Parse(hexString, NumberStyles.AllowHexSpecifier)
         Console.WriteLine("Converted 0x{0} to {1}.", hexString, number)
      Next         
   End Sub
End Module
' The example displays the following output:
'       Converted 0x80 to -128.
'       Converted 0xE293 to -7533.
'       Converted 0xF9A2FF to -417025.
'       Converted 0xFFFFFFFF to -1.
'       Converted 0x080 to 128.
'       Converted 0x0E293 to 58003.
'       Converted 0x0F9A2FF to 16360191.
'       Converted 0x0FFFFFFFF to 4294967295.
'       Converted 0x0080 to 128.
'       Converted 0x00E293 to 58003.
'       Converted 0x00F9A2FF to 16360191.
'       Converted 0x00FFFFFFFF to 4294967295.

O parâmetro provider é uma implementação de IFormatProvider.The provider parameter is an IFormatProvider implementation. O método GetFormat retorna um objeto NumberFormatInfo que fornece informações específicas de cultura sobre o formato de value.Its GetFormat method returns a NumberFormatInfo object that provides culture-specific information about the format of value. Normalmente, provider pode ser qualquer um dos seguintes:Typically, provider can be any one of the following:

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

Aplica-se a