Actualización: noviembre 2007
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.
Esta 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)
Visual Basic (Declaración)
<SerializableAttribute> _
<FlagsAttribute> _
<ComVisibleAttribute(True)> _
Public Enumeration NumberStyles
Dim instance As NumberStyles
[SerializableAttribute]
[FlagsAttribute]
[ComVisibleAttribute(true)]
public enum NumberStyles
[SerializableAttribute]
[FlagsAttribute]
[ComVisibleAttribute(true)]
public enum class NumberStyles
/** @attribute SerializableAttribute */
/** @attribute FlagsAttribute */
/** @attribute ComVisibleAttribute(true) */
public enum NumberStyles
| Nombre de miembro | Descripción |
|---|
.gif) .gif) | None | Indica que no se permite ningún estilo de bit. |
.gif) .gif) | AllowLeadingWhite | Indica 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. |
.gif) .gif) | AllowTrailingWhite | Indica 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. |
.gif) .gif) | AllowLeadingSign | Indica 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. |
.gif) .gif) | AllowTrailingSign | Indica 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. |
.gif) .gif) | AllowParentheses | Indica que la cadena numérica puede tener una pareja de paréntesis para delimitar el número. |
.gif) .gif) | AllowDecimalPoint | Indica 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. |
.gif) .gif) | AllowThousands | Indica 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. |
.gif) .gif) | AllowExponent | Indica que la cadena numérica puede tener una notación exponencial. |
.gif) .gif) | AllowCurrencySymbol | Indica que se analiza la cadena numérica como moneda si contiene el símbolo de moneda. De lo contrario, se analiza como número. Los valores de moneda válidos se determinan mediante la propiedad CurrencySymbol de NumberFormatInfo. |
.gif) .gif) | AllowHexSpecifier | Indica 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". |
.gif) .gif) | Integer | Indica que se utilizan todos los estilos AllowLeadingWhite, AllowTrailingWhite y AllowLeadingSign. Este es un estilo de número compuesto. |
.gif) .gif) | HexNumber | Indica que se utilizan todos los estilos AllowLeadingWhite, AllowTrailingWhite y AllowHexSpecifier. Este es un estilo de número compuesto. |
.gif) .gif) | Number | Indica que se utilizan todos los estilos AllowLeadingWhite, AllowTrailingWhite, AllowLeadingSign, AllowTrailingSign, AllowDecimalPoint y AllowThousands. Este es un estilo de número compuesto. |
.gif) .gif) | Float | Indica que se utilizan todos los estilos AllowLeadingWhite, AllowTrailingWhite, AllowLeadingSign, AllowDecimalPoint y AllowExponent. Este es un estilo de número compuesto. |
.gif) .gif) | Currency | Indica que se utilizan todos los estilos excepto AllowExponent y AllowHexSpecifier. Este es un estilo de número compuesto. |
.gif) .gif) | Any | Indica que se utilizan todos los estilos excepto AllowHexSpecifier. Este es un estilo de número compuesto. |
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" indica que el estilo de número compuesto incluye el estilo de número individual en esa fila. Un "0" indica que el estilo de número compuesto no incluye el estilo de número individual 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.
Este ejemplo muestra cómo resolver una cadena como un entero de 32 bits utilizando diferentes indicadores NumberStyles.
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'.
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'.
Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile para Smartphone, Windows Mobile para Pocket PC, Xbox 360
.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
.NET Framework
Compatible con: 3.5, 3.0, 2.0, 1.1, 1.0
.NET Compact Framework
Compatible con: 3.5, 2.0, 1.0
XNA Framework
Compatible con: 2.0, 1.0
Referencia