Biblioteca de clases de .NET Framework
NumberStyles (Enumeración)

Determina los estilos permitidos en argumentos de cadena numéricos que se pasan a los métodos Parse de las clases de tipo base numéricos.

La enumeración tiene un atributo FlagsAttribute que permite una combinación bit a bit de los valores de miembro.

Espacio de nombres: System.Globalization
Ensamblado: mscorlib (en mscorlib.dll)

Sintaxis

Visual Basic (Declaración)
<SerializableAttribute> _
<FlagsAttribute> _
<ComVisibleAttribute(True)> _
Public Enumeration NumberStyles
Visual Basic (Uso)
Dim instance As NumberStyles
C#
[SerializableAttribute] 
[FlagsAttribute] 
[ComVisibleAttribute(true)] 
public enum NumberStyles
C++
[SerializableAttribute] 
[FlagsAttribute] 
[ComVisibleAttribute(true)] 
public enum class NumberStyles
J#
/** @attribute SerializableAttribute() */ 
/** @attribute FlagsAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
public enum NumberStyles
JScript
SerializableAttribute 
FlagsAttribute 
ComVisibleAttribute(true) 
public enum NumberStyles
Miembros

 Nombre de miembroDescripción
Compatible con .NET Compact FrameworkAllowCurrencySymbolIndica que la cadena numérica se analiza como moneda si contiene un símbolo de moneda; en caso contrario, se analiza como número. Los valores de moneda válidos se determinan mediante la propiedad CurrencySymbol de NumberFormatInfo
Compatible con .NET Compact FrameworkAllowDecimalPointIndica que la cadena numérica puede tener una coma decimal. Los caracteres de coma decimal válidos se determinan mediante las propiedades NumberDecimalSeparator y CurrencyDecimalSeparator de NumberFormatInfo
Compatible con .NET Compact FrameworkAllowExponentIndica que la cadena numérica puede tener una notación exponencial. 
Compatible con .NET Compact FrameworkAllowHexSpecifierIndica que la cadena numérica representa un valor hexadecimal. Los valores hexadecimales válidos incluyen los dígitos numéricos 0-9 y los dígitos hexadecimales A-F y a-f. Los valores hexadecimales pueden rellenarse por la izquierda con ceros. No se permite que las cadenas analizadas con este estilo tengan el prefijo "0x". 
Compatible con .NET Compact FrameworkAllowLeadingSignIndica que la cadena numérica puede tener un signo inicial. Los caracteres de signo inicial válidos se determinan mediante las propiedades PositiveSign y NegativeSign de NumberFormatInfo
Compatible con .NET Compact FrameworkAllowLeadingWhiteIndica que durante el análisis debe omitirse un carácter de espacio en blanco inicial. 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. 
Compatible con .NET Compact FrameworkAllowParenthesesIndica que la cadena numérica puede tener una pareja de paréntesis para delimitar el número. 
Compatible con .NET Compact FrameworkAllowThousandsIndica que la cadena numérica puede tener separadores de grupo; por ejemplo, para separar las centenas de los millares. Los caracteres separadores de grupo válidos se determinan mediante las propiedades NumberGroupSeparator y CurrencyGroupSeparator de NumberFormatInfo, y el número de dígitos en cada grupo se determina mediante las propiedades NumberGroupSizes y CurrencyGroupSizes de NumberFormatInfo
Compatible con .NET Compact FrameworkAllowTrailingSignIndica que la cadena numérica puede tener un signo final. Los caracteres de signo final válidos se determinan mediante las propiedades PositiveSign y NegativeSign de NumberFormatInfo
Compatible con .NET Compact FrameworkAllowTrailingWhiteIndica que durante el análisis debe omitirse un carácter de espacio en blanco final. 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. 
Compatible con .NET Compact FrameworkAnyIndica que se utilizan todos los estilos excepto AllowHexSpecifier. Este es un estilo de número compuesto. 
Compatible con .NET Compact FrameworkCurrencyIndica que se utilizan todos los estilos excepto AllowExponent y AllowHexSpecifier. Este es un estilo de número compuesto. 
Compatible con .NET Compact FrameworkFloatIndica que se utilizan todos los estilos AllowLeadingWhite, AllowTrailingWhite, AllowLeadingSign, AllowDecimalPoint y AllowExponent. Este es un estilo de número compuesto. 
Compatible con .NET Compact FrameworkHexNumberIndica que se utilizan todos los estilos AllowLeadingWhite, AllowTrailingWhite y AllowHexSpecifier. Este es un estilo de número compuesto. 
Compatible con .NET Compact FrameworkIntegerIndica que se utilizan todos los estilos AllowLeadingWhite, AllowTrailingWhite y AllowLeadingSign. Este es un estilo de número compuesto. 
Compatible con .NET Compact FrameworkNoneIndica que no se permite ningún estilo de bit. 
Compatible con .NET Compact FrameworkNumberIndica que se utilizan todos los estilos AllowLeadingWhite, AllowTrailingWhite, AllowLeadingSign, AllowTrailingSign, AllowDecimalPoint y AllowThousands. Este es un estilo de número compuesto. 
Comentarios

Los símbolos que se utilizan para símbolo de moneda, separador de miles, indicador de coma decimal y signo inicial se especifican mediante NumberFormatInfo.

Los valores de AllowCurrencySymbol y AllowDecimalPoint determinan si un método Parse trata una instancia de un tipo numérico como moneda o como número y, por tanto, si se van a utilizar las propiedades de moneda o las propiedades de número del NumberFormatInfo asociado. Por ejemplo, si se especifica AllowCurrencySymbol, un método Parse utiliza las propiedades de moneda, como CurrencyDecimalSeparator y CurrencyGroupSeparator. No obstante, si se especifica AllowDecimalPoint, el método utiliza propiedades de número, como NumberDecimalSeparator y NumberGroupSeparator.

Los atributos de NumberStyles se establecen mediante OR bit a bit inclusivo o los indicadores de campo. El bit más significativo (MSB) es el bit que se encuentra más a la izquierda.

En la tabla siguiente, las filas son los estilos de número con indicadores de campo individuales y las columnas son los estilos de número compuestos que combinan indicadores de campo individuales.

En los estilos de número compuestos, un "1" significa que el estilo de número compuesto incluye el estilo de número compuesto en esa fila; un "0" significa que el estilo de número compuesto no incluye el estilo de número compuesto en esa fila.

La representación hexadecimal de los estilos de número compuestos se enumeran en la última fila de la tabla.

Any

Currency

Float

Integer

Number

HexNumber

AllowHexSpecifier (0x0200)

0

0

0

0

0

1

AllowCurrencySymbol (0x0100)

1

1

0

0

0

0

AllowExponent (0x0080)

1

0

1

0

0

0

AllowThousands (0x0040)

1

1

0

0

1

0

AllowDecimalPoint (0x0020)

1

1

1

0

1

0

AllowParentheses (0x0010)

1

1

0

0

0

0

AllowTrailingSign (0x0008)

1

1

0

0

1

0

AllowLeadingSign (0x0004)

1

1

1

1

1

0

AllowTrailingWhite (0x0002)

1

1

1

1

1

1

AllowLeadingWhite (0x0001)

1

1

1

1

1

1

(0x1ff)

(0x17f)

(0x0a7)

(0x007)

(0x06f)

(0x203)

El estilo AllowExponent se utiliza para cadenas numéricas en una de las siguientes formas:

[-] m . dddddd E+ xx

[-] m . dddddd E- xx

[-] m . dddddd e+ xx

[-] m . dddddd e- xx

Uno o varios dígitos distintos de cero (m) preceden al separador decimal ("."). Un signo menos ("-") puede preceder a m. El objeto Type que ejecuta la conversión determina el número de posiciones decimales (dddddd) de la cadena y los valores máximo y mínimo para xx y m. El exponente (+ / - xx) consta de un signo más o menos seguido al menos de un dígito.

Ejemplo

Este ejemplo muestra cómo resolver una cadena como un entero de 32 bits utilizando diferentes indicadores NumberStyles.

C#
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'.
C++
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'.
Plataformas

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter Edition

.NET Framework no admite todas las versiones de cada plataforma. Para obtener una lista de las versiones admitidas, vea Requisitos del sistema.

Información de versión

.NET Framework

Compatible con: 2.0, 1.1, 1.0

.NET Compact Framework

Compatible con: 2.0, 1.0
Vea también

Etiquetas :


Page view tracker