NumberStyles Enumeración

Definición

Determina los estilos permitidos en argumentos de cadena numéricos que se pasan a los métodos Parse y TryParse de los tipos numéricos enteros y de punto flotante.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 enumeración tiene el atributo FlagsAttribute, que permite una combinación bit a bit de sus valores de miembro.

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

Campos

AllowCurrencySymbol 256

Indica que la cadena numérica puede contener un símbolo de divisa.Indicates that the numeric string can contain a currency symbol. La propiedad CurrencySymbol determina los símbolos de divisa válidos.Valid currency symbols are determined by the CurrencySymbol property.

AllowDecimalPoint 32

Indica que la cadena numérica puede tener una coma decimal.Indicates that the numeric string can have a decimal point. Si el valor NumberStyles incluye la marca AllowCurrencySymbol y la cadena analizada incluye un símbolo de divisa, la propiedad CurrencyDecimalSeparator determina el carácter del separador decimal.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. De lo contrario, el carácter separador decimal viene determinado por la propiedad NumberDecimalSeparator.Otherwise, the decimal separator character is determined by the NumberDecimalSeparator property.

AllowExponent 128

Indica que la cadena numérica puede tener una notación exponencial.Indicates that the numeric string can be in exponential notation. La marca AllowExponent permite a la cadena analizada contener un exponente que comienza con el carácter "E" o "e", un signo positivo opcional o negativo, y un enteroThe 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. Dicho de otra manera, analiza correctamente las cadenas con formato nnnExx, nnnE+xx y nnnE-xx.In other words, it successfully parses strings in the form nnnExx, nnnE+xx, and nnnE-xx. No permite un separador decimal o signo en el significado o mantisa; para permitir que se analicen estos elementos de la cadena, use las marcas AllowDecimalPoint y AllowLeadingSign o un estilo compuesto que incluya estas marcas individuales.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 la cadena numérica representa un valor hexadecimal.Indicates that the numeric string represents a hexadecimal value. Los valores hexadecimales válidos incluyen los dígitos numéricos 0-9 y los dígitos hexadecimales A-F y a-f.Valid hexadecimal values include the numeric digits 0-9 and the hexadecimal digits A-F and a-f. Las cadenas que se analizan con este estilo no pueden ir precedidas de "0x" ni "&h".Strings that are parsed using this style cannot be prefixed with "0x" or "&h". Una cadena que se analiza con el estilo AllowHexSpecifier siempre se interpretará como un valor hexadecimal.A string that is parsed with the AllowHexSpecifier style will always be interpreted as a hexadecimal value. Las únicas marcas que se pueden combinar con AllowHexSpecifier son AllowLeadingWhite y AllowTrailingWhite.The only flags that can be combined with AllowHexSpecifier are AllowLeadingWhite and AllowTrailingWhite. La enumeración NumberStyles incluye un estilo compuesto, HexNumber, que consta de estas tres marcas.The NumberStyles enumeration includes a composite style, HexNumber, that consists of these three flags.

AllowLeadingSign 4

Indica que la cadena numérica puede tener un signo inicial.Indicates that the numeric string can have a leading sign. Los caracteres de signo inicial válidos se determinan mediante las propiedades PositiveSign y NegativeSign.Valid leading sign characters are determined by the PositiveSign and NegativeSign properties.

AllowLeadingWhite 1

Indica que la cadena analizada puede incluir caracteres de espacio en blanco iniciales.Indicates that leading white-space characters can be present in the parsed string. Los caracteres de espacio en blanco válidos tienen los valores Unicode U+0009, U+000A, U+000B, U+000C, U+000D y 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 este es un subconjunto de los caracteres para los que el método IsWhiteSpace(Char) devuelve true.Note that this is a subset of the characters for which the IsWhiteSpace(Char) method returns true.

AllowParentheses 16

Indica que la cadena numérica puede tener una pareja de paréntesis para delimitar el número.Indicates that the numeric string can have one pair of parentheses enclosing the number. Los paréntesis indican que la cadena que se va a analizar representa un número negativo.The parentheses indicate that the string to be parsed represents a negative number.

AllowThousands 64

Indica que la cadena numérica puede tener separadores de grupo; como símbolos que separan las centenas de los millares.Indicates that the numeric string can have group separators, such as symbols that separate hundreds from thousands. Si el valor NumberStyles incluye la marca AllowCurrencySymbol y la cadena que se va a analizar incluye un símbolo de moneda, la propiedad CurrencyGroupSeparator determina el carácter del separador de grupo válido y la propiedad CurrencyGroupSizes determina el número de dígitos de cada grupo.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. De lo contrario, el carácter separador del grupo válido se determina con la propiedad NumberGroupSeparator y el número de dígitos de cada grupo se determina con la propiedad 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 la cadena numérica puede tener un signo final.Indicates that the numeric string can have a trailing sign. Los caracteres de signo final válidos se determinan mediante las propiedades PositiveSign y NegativeSign.Valid trailing sign characters are determined by the PositiveSign and NegativeSign properties.

AllowTrailingWhite 2

Indica que la cadena analizada puede incluir caracteres de espacio en blanco finales.Indicates that trailing white-space characters can be present in the parsed string. Los caracteres de espacio en blanco válidos tienen los valores Unicode U+0009, U+000A, U+000B, U+000C, U+000D y 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 este es un subconjunto de los caracteres para los que el método IsWhiteSpace(Char) devuelve true.Note that this is a subset of the characters for which the IsWhiteSpace(Char) method returns true.

Any 511

Indica que se utilizan todos los estilos, excepto AllowHexSpecifier.Indicates that all styles except AllowHexSpecifier are used. Este es un estilo de número compuesto.This is a composite number style.

Currency 383

Indica que se utilizan todos los estilos, excepto AllowExponent y AllowHexSpecifier.Indicates that all styles except AllowExponent and AllowHexSpecifier are used. Este es un estilo de número compuesto.This is a composite number style.

Float 167

Indica que se utilizan los estilos AllowLeadingWhite, AllowTrailingWhite, AllowLeadingSign, AllowDecimalPoint y AllowExponent.Indicates that the AllowLeadingWhite, AllowTrailingWhite, AllowLeadingSign, AllowDecimalPoint, and AllowExponent styles are used. Este es un estilo de número compuesto.This is a composite number style.

HexNumber 515

Indica que se utilizan los estilos AllowLeadingWhite, AllowTrailingWhite y AllowHexSpecifier.Indicates that the AllowLeadingWhite, AllowTrailingWhite, and AllowHexSpecifier styles are used. Este es un estilo de número compuesto.This is a composite number style.

Integer 7

Indica que se utilizan los estilos AllowLeadingWhite, AllowTrailingWhite y AllowLeadingSign.Indicates that the AllowLeadingWhite, AllowTrailingWhite, and AllowLeadingSign styles are used. Este es un estilo de número compuesto.This is a composite number style.

None 0

Indica que no se puede encontrar ningún elemento de estilo, como los espacios iniciales o en blanco, separadores de miles o un separador decimal, en la cadena analizada.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. La cadena que se va a analizar debe constar únicamente de dígitos decimales enteros.The string to be parsed must consist of integral decimal digits only.

Number 111

Indica que se utilizan los estilos AllowLeadingWhite, AllowTrailingWhite, AllowLeadingSign, AllowTrailingSign, AllowDecimalPoint y AllowThousands.Indicates that the AllowLeadingWhite, AllowTrailingWhite, AllowLeadingSign, AllowTrailingSign, AllowDecimalPoint, and AllowThousands styles are used. Este es un estilo de número compuesto.This is a composite number style.

Ejemplos

En este ejemplo se muestra cómo analizar una cadena en un entero de 32 bits mediante varias marcas de NumberStyles.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'.

Comentarios

La enumeración NumberStyles se compone de dos tipos de valores de enumeración que se usan para analizar las representaciones de cadena 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:

  • Marcas de campo individuales, que definen elementos de estilo específicos (como espacios en blanco y separadores de grupos) que pueden estar presentes en la cadena analizada.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 compuesto, que constan de varias marcas de campo que definen los elementos de estilo que pueden estar presentes en la cadena analizada.Composite number styles, which consist of multiple field flags that define the style elements that can be present in the parsed string.

A excepción de AllowHexSpecifier, las marcas de campo individuales en la enumeración NumberStyles definen elementos de estilo que se usan al analizar la representación de cadena de un 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. None indica que solo pueden estar presentes dígitos en la cadena analizada.None indicates that only digits can be present in the parsed string. Las marcas de campo individuales restantes definen los elementos de estilo que pueden estar, pero que no tienen que estar, presentes en la representación de cadena de un número decimal para que la operación de análisis se realice correctamente.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. En cambio, la marca AllowHexSpecifier indica que la cadena que se va a analizar siempre se interpreta como un valor hexadecimal.In contrast, the AllowHexSpecifier flag indicates that the string to be parsed is always interpreted as a hexadecimal value. Las únicas marcas de campo individuales que se pueden utilizar con AllowHexSpecifier son AllowLeadingWhite y AllowTrailingWhite.The only individual field flags that can be used with AllowHexSpecifier are AllowLeadingWhite and AllowTrailingWhite. La enumeración NumberStyles incluye un estilo de número compuesto, HexNumber, que consta de las tres marcas.The NumberStyles enumeration includes a composite number style, HexNumber, that consists of all three flags.

Los miembros del objeto System.Globalization.NumberFormatInfo que se pasan implícita o explícitamente al método Parse definen los símbolos (por ejemplo, el símbolo de divisa, el separador de grupos, el separador decimal y los signos positivo y negativo) que pueden aparecer en la cadena que se va a analizar.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. La tabla de miembros de este tema proporciona una descripción de cada marca individual e indica su relación con NumberFormatInfo propiedades.The members table in this topic provides a description of each individual flag and indicates its relationship to NumberFormatInfo properties.

En la tabla siguiente se enumeran los estilos de número compuesto y se indican las marcas de campo individuales que incluyen.The following table lists the composite number styles and indicates which individual field flags they include. Un "1" en una celda indica que el estilo de número compuesto incluye el estilo de número individual en esa fila.A "1" in a cell indicates that the composite number style includes the individual number style in that row. Un "0" indica que el estilo de número compuesto no incluye el estilo de número individual.A "0" indicates that the composite number style does not include the individual number style.

CualquieraAny MonedaCurrency FloatFloat EnteroInteger 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)

Se aplica a

Consulte también: