NumberStyles Enumeração

Definição

Determina os estilos permitidos em argumentos de cadeia de caracteres numéricos que são passados para os métodos Parse e TryParse dos tipos numéricos integrais e de ponto flutuante.Determines the styles permitted in numeric string arguments that are passed to the Parse and TryParse methods of the integral and floating-point numeric types.

Esta enumeração tem um atributo FlagsAttribute que permite uma combinação bit a bit dos seus valores membros.

public enum class NumberStyles
[System.Flags]
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public enum NumberStyles
type NumberStyles = 
Public Enum NumberStyles
Herança
NumberStyles
Atributos

Campos

AllowCurrencySymbol 256

Indica que a cadeia de caracteres numérica pode conter um símbolo de moeda.Indicates that the numeric string can contain a currency symbol. Os símbolos de moeda válidos são determinados pela propriedade CurrencySymbol.Valid currency symbols are determined by the CurrencySymbol property.

AllowDecimalPoint 32

Indica que a cadeia de caracteres numérica pode ter um ponto decimal.Indicates that the numeric string can have a decimal point. Se o valor NumberStyles incluir o sinalizador AllowCurrencySymbol e a cadeia de caracteres analisada incluir um símbolo de moeda, o caractere separador decimal será determinado pela propriedade CurrencyDecimalSeparator.If the NumberStyles value includes the AllowCurrencySymbol flag and the parsed string includes a currency symbol, the decimal separator character is determined by the CurrencyDecimalSeparator property. Caso contrário, o caractere separador decimal será determinado pela propriedade NumberDecimalSeparator.Otherwise, the decimal separator character is determined by the NumberDecimalSeparator property.

AllowExponent 128

Indica que a cadeia de caracteres numérica pode ser em notação exponencial.Indicates that the numeric string can be in exponential notation. O sinalizador AllowExponent permite que a cadeia de caracteres analisada contenha um expoente que começa com o caractere "E" ou "e" e que é seguido por um sinal positivo ou negativo opcional e um inteiro.The AllowExponent flag allows the parsed string to contain an exponent that begins with the "E" or "e" character and that is followed by an optional positive or negative sign and an integer. Em outras palavras, ele analisa cadeias de caracteres com êxito no formato nnnExx, nnnE+xx e nnnE-xx.In other words, it successfully parses strings in the form nnnExx, nnnE+xx, and nnnE-xx. Ele não permite um separador decimal ou sinal no significando ou na mantissa. Para permitir que esses elementos na cadeia de caracteres sejam analisados, use os sinalizadores AllowDecimalPoint e AllowLeadingSign ou use um estilo composto que inclua esses sinalizadores individuais.It does not allow a decimal separator or sign in the significand or mantissa; to allow these elements in the string to be parsed, use the AllowDecimalPoint and AllowLeadingSign flags, or use a composite style that includes these individual flags.

AllowHexSpecifier 512

Indica que a cadeia de caracteres numérica representa um valor hexadecimal.Indicates that the numeric string represents a hexadecimal value. Os valores hexadecimais válidos incluem os dígitos numéricos 0-9 e os dígitos hexadecimais A-F e a-f.Valid hexadecimal values include the numeric digits 0-9 and the hexadecimal digits A-F and a-f. Cadeias de caracteres que são analisadas usando esse estilo não podem ser prefixadas com "0x" ou "&h".Strings that are parsed using this style cannot be prefixed with "0x" or "&h". Uma cadeia de caracteres analisada com o estilo AllowHexSpecifier sempre será interpretada como um valor hexadecimal.A string that is parsed with the AllowHexSpecifier style will always be interpreted as a hexadecimal value. Os únicos sinalizadores que podem ser combinados com AllowHexSpecifier são AllowLeadingWhite e AllowTrailingWhite.The only flags that can be combined with AllowHexSpecifier are AllowLeadingWhite and AllowTrailingWhite. A enumeração NumberStyles inclui um estilo composto, HexNumber, que consiste nesses três sinalizadores.The NumberStyles enumeration includes a composite style, HexNumber, that consists of these three flags.

AllowLeadingSign 4

Indica que a cadeia de caracteres numérica pode ter um sinal à esquerda.Indicates that the numeric string can have a leading sign. Os caracteres de sinal à esquerda válidos são determinados pelas propriedades PositiveSign e NegativeSign.Valid leading sign characters are determined by the PositiveSign and NegativeSign properties.

AllowLeadingWhite 1

Indica que os caracteres de espaço em branco à esquerda podem estar presentes na cadeia de caracteres analisada.Indicates that leading white-space characters can be present in the parsed string. Os caracteres de espaço válidos devem ter os valores Unicode U+0009, U+000A, U+000B, U+000C, U+000D e U+0020.Valid white-space characters have the Unicode values U+0009, U+000A, U+000B, U+000C, U+000D, and U+0020. Observe que esse é um subconjunto de caracteres para o qual o método IsWhiteSpace(Char) retorna true.Note that this is a subset of the characters for which the IsWhiteSpace(Char) method returns true.

AllowParentheses 16

Indica que a cadeia de caracteres numérica pode ter um par de parênteses que incluem o número.Indicates that the numeric string can have one pair of parentheses enclosing the number. Os parênteses indicam que a cadeia de caracteres a ser analisada representa um número negativo.The parentheses indicate that the string to be parsed represents a negative number.

AllowThousands 64

Indica que a cadeia de caracteres numérica pode ter separadores de grupo, como símbolos que separam centenas de milhares.Indicates that the numeric string can have group separators, such as symbols that separate hundreds from thousands. Se o valor NumberStyles incluir o sinalizador AllowCurrencySymbol e a cadeia de caracteres a ser analisada incluir um símbolo de moeda, o caractere separador de grupo válido será determinado pela propriedade CurrencyGroupSeparator e o número de dígitos em cada grupo será determinado pela propriedade CurrencyGroupSizes.If the NumberStyles value includes the AllowCurrencySymbol flag and the string to be parsed includes a currency symbol, the valid group separator character is determined by the CurrencyGroupSeparator property, and the number of digits in each group is determined by the CurrencyGroupSizes property. Caso contrário, o caractere separador de grupo válido será determinado pela propriedade NumberGroupSeparator e o número de dígitos em cada grupo será determinado pela propriedade NumberGroupSizes.Otherwise, the valid group separator character is determined by the NumberGroupSeparator property, and the number of digits in each group is determined by the NumberGroupSizes property.

AllowTrailingSign 8

Indica que a cadeia de caracteres numérica pode ter um sinal à direita.Indicates that the numeric string can have a trailing sign. Os caracteres de sinal à direita válidos são determinados pelas propriedades PositiveSign e NegativeSign.Valid trailing sign characters are determined by the PositiveSign and NegativeSign properties.

AllowTrailingWhite 2

Indica que os caracteres de espaço em branco à direita podem estar presentes na cadeia de caracteres analisada.Indicates that trailing white-space characters can be present in the parsed string. Os caracteres de espaço válidos devem ter os valores Unicode U+0009, U+000A, U+000B, U+000C, U+000D e U+0020.Valid white-space characters have the Unicode values U+0009, U+000A, U+000B, U+000C, U+000D, and U+0020. Observe que esse é um subconjunto de caracteres para o qual o método IsWhiteSpace(Char) retorna true.Note that this is a subset of the characters for which the IsWhiteSpace(Char) method returns true.

Any 511

Indica que todos os estilos, exceto AllowHexSpecifier, são usados.Indicates that all styles except AllowHexSpecifier are used. Esse é um estilo de número composto.This is a composite number style.

Currency 383

Indica que todos os estilos, exceto AllowExponent e AllowHexSpecifier, são usados.Indicates that all styles except AllowExponent and AllowHexSpecifier are used. Esse é um estilo de número composto.This is a composite number style.

Float 167

Indica que os estilos AllowLeadingWhite, AllowTrailingWhite, AllowLeadingSign, AllowDecimalPoint e AllowExponent são usados.Indicates that the AllowLeadingWhite, AllowTrailingWhite, AllowLeadingSign, AllowDecimalPoint, and AllowExponent styles are used. Esse é um estilo de número composto.This is a composite number style.

HexNumber 515

Indica que os estilos AllowLeadingWhite, AllowTrailingWhite e AllowHexSpecifier são usados.Indicates that the AllowLeadingWhite, AllowTrailingWhite, and AllowHexSpecifier styles are used. Esse é um estilo de número composto.This is a composite number style.

Integer 7

Indica que os estilos AllowLeadingWhite, AllowTrailingWhite e AllowLeadingSign são usados.Indicates that the AllowLeadingWhite, AllowTrailingWhite, and AllowLeadingSign styles are used. Esse é um estilo de número composto.This is a composite number style.

None 0

Indica que não é possível haver nenhum elemento de estilo, como espaço em branco à direita ou à esquerda, separadores de milhar ou separadores decimais, presente na cadeia de caracteres analisada.Indicates that no style elements, such as leading or trailing white space, thousands separators, or a decimal separator, can be present in the parsed string. A cadeia de caracteres a ser analisada deve conter apenas dígitos decimais integrais.The string to be parsed must consist of integral decimal digits only.

Number 111

Indica que os estilos AllowLeadingWhite, AllowTrailingWhite, AllowLeadingSign, AllowTrailingSign, AllowDecimalPoint e AllowThousands são usados.Indicates that the AllowLeadingWhite, AllowTrailingWhite, AllowLeadingSign, AllowTrailingSign, AllowDecimalPoint, and AllowThousands styles are used. Esse é um estilo de número composto.This is a composite number style.

Exemplos

Este exemplo mostra como analisar uma cadeia de caracteres em um inteiro de 32 bits usando vários NumberStyles sinalizadores.This example shows how to parse a string into a 32-bit integer by using various NumberStyles flags.

using namespace System;
using namespace System::Text;
using namespace System::Globalization;


int main()
{
    // Parse the string as a hex value and display the
    // value as a decimal.
    String^ numberString = "A";
    int stringValue = Int32::Parse(numberString, NumberStyles::HexNumber);
    Console::WriteLine("{0} in hex = {1} in decimal.",
        numberString, stringValue);

    // Parse the string, allowing a leading sign, and ignoring
    // leading and trailing white spaces.
    numberString = "    -45   ";
    stringValue =Int32::Parse(numberString, NumberStyles::AllowLeadingSign |
        NumberStyles::AllowLeadingWhite | NumberStyles::AllowTrailingWhite);
    Console::WriteLine("'{0}' parsed to an int is '{1}'.",
        numberString, stringValue);

    // Parse the string, allowing parentheses, and ignoring
    // leading and trailing white spaces.
    numberString = "    (37)   ";
    stringValue = Int32::Parse(numberString, NumberStyles::AllowParentheses |
        NumberStyles::AllowLeadingSign | NumberStyles::AllowLeadingWhite |
        NumberStyles::AllowTrailingWhite);

    Console::WriteLine("'{0}' parsed to an int is '{1}'.",
        numberString, stringValue);
}

// This code produces the following output.
//
// A in hex = 10 in decimal.
// '    -45   ' parsed to an int is '-45'.
// '    (37)   ' parsed to an int is '-37'.
using System;
using System.Text;
using System.Globalization;

public sealed class App 
{
    static void Main() 
    {
        // Parse the string as a hex value and display the value as a decimal.
        String num = "A";
        int val = int.Parse(num, NumberStyles.HexNumber);
        Console.WriteLine("{0} in hex = {1} in decimal.", num, val);

        // Parse the string, allowing a leading sign, and ignoring leading and trailing white spaces.
        num = "    -45   ";
        val = int.Parse(num, NumberStyles.AllowLeadingSign | 
            NumberStyles.AllowLeadingWhite | NumberStyles.AllowTrailingWhite);
        Console.WriteLine("'{0}' parsed to an int is '{1}'.", num, val);

        // Parse the string, allowing parentheses, and ignoring leading and trailing white spaces.
        num = "    (37)   ";
        val = int.Parse(num, NumberStyles.AllowParentheses | NumberStyles.AllowLeadingSign |                         NumberStyles.AllowLeadingWhite | NumberStyles.AllowTrailingWhite);
        Console.WriteLine("'{0}' parsed to an int is '{1}'.", num, val);
    }
}

// This code produces the following output.
//
// A in hex = 10 in decimal.
// '    -45   ' parsed to an int is '-45'.
// '    (37)   ' parsed to an int is '-37'.
Imports System.Globalization
Imports System.Text

Public Module Example
   Public Sub Main() 
      ' Parse the string as a hex value and display the value as a decimal.
      Dim num As String = "A"
      Dim val As Integer = Int32.Parse(num, NumberStyles.HexNumber)
      Console.WriteLine("{0} in hex = {1} in decimal.", num, val)

      ' Parse the string, allowing a leading sign, and ignoring leading and trailing white spaces.
      num = "    -45   "
      val = Integer.Parse(num, NumberStyles.AllowLeadingSign Or 
                               NumberStyles.AllowLeadingWhite Or 
                               NumberStyles.AllowTrailingWhite)
      Console.WriteLine("'{0}' parsed to an integer is '{1}'.", num, val)

      ' Parse the string, allowing parentheses, and ignoring leading and trailing white spaces.
      num = "    (37)   "
      val = Integer.Parse(num, NumberStyles.AllowParentheses Or 
                               NumberStyles.AllowLeadingSign Or
                               NumberStyles.AllowLeadingWhite Or 
                               NumberStyles.AllowTrailingWhite)
      Console.WriteLine("'{0}' parsed to an integer is '{1}'.", num, val)
   End Sub
End Module
' The example displays the following output:
'       A in hex = 10 in decimal.
'       '    -45   ' parsed to an int is '-45'.
'       '    (37)   ' parsed to an int is '-37'.

Comentários

A NumberStyles enumeração consiste em dois tipos de valores de enumeração que são usados para analisar as representações de cadeia de caracteres de valores numéricos:The NumberStyles enumeration consists of two kinds of enumeration values that are used to parse the string representations of numeric values:

  • Sinalizadores de campo individuais, que definem elementos de estilo específicos (como separadores de espaço em branco e de grupo) que podem estar presentes na cadeia de caracteres analisada.Individual field flags, which define specific style elements (such as white space and group separators) that can be present in the parsed string.

  • Estilos de número composto, que consistem em vários sinalizadores de campo que definem os elementos de estilo que podem estar presentes na cadeia de caracteres analisada.Composite number styles, which consist of multiple field flags that define the style elements that can be present in the parsed string.

Exceto para AllowHexSpecifier, os sinalizadores de campo individuais NumberStyles na enumeração definem elementos Style que são usados ao analisar a representação de cadeia de caracteres de um número decimal.Except for AllowHexSpecifier, the individual field flags in the NumberStyles enumeration define style elements that are used when parsing the string representation of a decimal number. Noneindica que somente os dígitos podem estar presentes na cadeia de caracteres analisada.None indicates that only digits can be present in the parsed string. Os sinalizadores de campo individuais restantes definem elementos de estilo que podem ser, mas não precisam estar presentes na representação de cadeia de caracteres de um número decimal para que a operação de análise tenha sucesso.The remaining individual field flags define style elements that may be, but do not have to be, present in the string representation of a decimal number for the parse operation to succeed. Por outro lado, AllowHexSpecifier o sinalizador indica que a cadeia de caracteres a ser analisada é sempre interpretada como um valor hexadecimal.In contrast, the AllowHexSpecifier flag indicates that the string to be parsed is always interpreted as a hexadecimal value. Os únicos sinalizadores de campo individuais que podem ser usados AllowHexSpecifier com AllowLeadingWhite o AllowTrailingWhitesão e.The only individual field flags that can be used with AllowHexSpecifier are AllowLeadingWhite and AllowTrailingWhite. A NumberStyles enumeração inclui um estilo de número composto HexNumber,, que consiste em todos os três sinalizadores.The NumberStyles enumeration includes a composite number style, HexNumber, that consists of all three flags.

Os símbolos (como o símbolo de moeda, o separador de grupo, o separador decimal e os sinais positivos e negativos) que podem aparecer na cadeia de caracteres a ser analisada são definidos System.Globalization.NumberFormatInfo pelos membros do objeto que é passado implicitamente ou explicitamente para o Parse método.The symbols (such as the currency symbol, the group separator, the decimal separator, and the positive and negative signs) that can appear in the string to be parsed are defined by the members of the System.Globalization.NumberFormatInfo object that is passed either implicitly or explicitly to the Parse method. A tabela de Membros neste tópico fornece uma descrição de cada sinalizador individual e indica sua relação com NumberFormatInfo as propriedades.The members table in this topic provides a description of each individual flag and indicates its relationship to NumberFormatInfo properties.

A tabela a seguir lista os estilos de número composto e indica os sinalizadores de campo individuais que eles incluem.The following table lists the composite number styles and indicates which individual field flags they include. Um "1" em uma célula indica que o estilo de número composto inclui o estilo de número individual nessa linha.A "1" in a cell indicates that the composite number style includes the individual number style in that row. Um "0" indica que o estilo de número composto não inclui o estilo de número individual.A "0" indicates that the composite number style does not include the individual number style.

QualquerAny MoedaCurrency FloatFloat InteiroInteger NúmeroNumber HexNumberHexNumber
AllowHexSpecifier (0x0200)AllowHexSpecifier (0x0200) 00 00 00 00 00 11
AllowCurrencySymbol (0x0100)AllowCurrencySymbol (0x0100) 11 11 00 00 00 00
AllowExponent (0x0080)AllowExponent (0x0080) 11 00 11 00 00 00
AllowThousands (0x0040)AllowThousands (0x0040) 11 11 00 00 11 00
AllowDecimalPoint (0x0020)AllowDecimalPoint (0x0020) 11 11 11 00 11 00
AllowParentheses (0x0010)AllowParentheses (0x0010) 11 11 00 00 00 00
AllowTrailingSign (0x0008)AllowTrailingSign (0x0008) 11 11 00 00 11 00
AllowLeadingSign (0x0004)AllowLeadingSign (0x0004) 11 11 11 11 11 00
AllowTrailingWhite (0x0002)AllowTrailingWhite (0x0002) 11 11 11 11 11 11
AllowLeadingWhite (0x0001)AllowLeadingWhite (0x0001) 11 11 11 11 11 11
(0x1ff)(0x1ff) (0x17f)(0x17f) (0x0a7)(0x0a7) (0x007)(0x007) (0x06f)(0x06f) (0x203)(0x203)

Aplica-se a

Veja também