Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original. |
Traducción
Original
|
NumberFormatInfo (Clase)
Define el modo en que se aplica formato y se muestran los valores numéricos, dependiendo de la referencia cultural.
Ensamblado: mscorlib (en mscorlib.dll)
El tipo NumberFormatInfo expone los siguientes miembros.
| Nombre | Descripción | |
|---|---|---|
|
NumberFormatInfo | Inicializa una nueva instancia modificable de la clase NumberFormatInfo que es independiente de la referencia cultural (invariable). |
| Nombre | Descripción | |
|---|---|---|
|
CurrencyDecimalDigits | Obtiene o establece el número de posiciones decimales que se van a utilizar en valores de divisa. |
|
CurrencyDecimalSeparator | Obtiene o establece la cadena que se va a utilizar como separador decimal en valores de moneda. |
|
CurrencyGroupSeparator | Obtiene o establece la cadena que separa grupos de dígitos a la izquierda de la coma decimal en valores de moneda. |
|
CurrencyGroupSizes | Obtiene o establece el número de dígitos en cada grupo a la izquierda de la coma decimal en valores de moneda. |
|
CurrencyNegativePattern | Obtiene o establece el modelo de formato para los valores de moneda negativos. |
|
CurrencyPositivePattern | Obtiene o establece el modelo de formato para los valores de moneda positivos. |
|
CurrencySymbol | Obtiene o establece la cadena que se va a utilizar como símbolo de moneda. |
|
CurrentInfo | Obtiene un NumberFormatInfo de sólo lectura que aplica formato a los valores basándose en la referencia cultural actual. |
|
DigitSubstitution | Obtiene o establece un valor que especifica cómo la interfaz gráfica de usuario muestra la forma de un dígito. |
|
InvariantInfo | Obtiene la NumberFormatInfo predeterminada de sólo lectura que es independiente de la referencia cultural (invariable). |
|
IsReadOnly | Obtiene un valor que indica si NumberFormatInfo es de sólo lectura. |
|
NaNSymbol | Obtiene o establece la cadena que representa el valor NaN (no un número) de IEEE. |
|
NativeDigits | Obtiene o establece una matriz de cadenas de dígitos nativos equivalentes a los dígitos occidentales del 0 al 9. |
|
NegativeInfinitySymbol | Obtiene o establece la cadena que representa un infinito negativo. |
|
NegativeSign | Obtiene o establece la cadena que denota que el número asociado es negativo. |
|
NumberDecimalDigits | Obtiene o establece el número de posiciones decimales que se van a utilizar en valores numéricos. |
|
NumberDecimalSeparator | Obtiene o establece la cadena que se va a utilizar como separador decimal en valores numéricos. |
|
NumberGroupSeparator | Obtiene o establece la cadena que separa grupos de dígitos a la izquierda de la coma decimal en valores numéricos. |
|
NumberGroupSizes | Obtiene o establece el número de dígitos en cada grupo a la izquierda de la coma decimal en valores numéricos. |
|
NumberNegativePattern | Obtiene o establece el modelo de formato para los valores numéricos negativos. |
|
PercentDecimalDigits | Obtiene o establece el número de posiciones decimales que se van a utilizar en valores de porcentaje. |
|
PercentDecimalSeparator | Obtiene o establece la cadena que se va a utilizar como separador decimal en valores de porcentaje. |
|
PercentGroupSeparator | Obtiene o establece la cadena que separa grupos de dígitos a la izquierda de la coma decimal en valores de porcentaje. |
|
PercentGroupSizes | Obtiene o establece el número de dígitos en cada grupo a la izquierda de la coma decimal en valores de porcentaje. |
|
PercentNegativePattern | Obtiene o establece el modelo de formato para los valores de porcentaje negativos. |
|
PercentPositivePattern | Obtiene o establece el modelo de formato para los valores de porcentaje positivos. |
|
PercentSymbol | Obtiene o establece la cadena que se va a utilizar como símbolo de porcentaje. |
|
PerMilleSymbol | Obtiene o establece la cadena que se va a utilizar como símbolo de por mil. |
|
PositiveInfinitySymbol | Obtiene o establece la cadena que representa un infinito positivo. |
|
PositiveSign | Obtiene o establece la cadena que denota que el número asociado es positivo. |
| Nombre | Descripción | |
|---|---|---|
|
Clone | Crea una copia superficial de NumberFormatInfo. |
|
Equals(Object) | Determina si el objeto Object especificado es igual al objeto Object actual. (Se hereda de Object). |
|
Finalize | Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Se hereda de Object). |
|
GetFormat | Obtiene un objeto del tipo especificado que proporciona un servicio de formato numérico. |
|
GetHashCode | Actúa como función hash para un tipo concreto. (Se hereda de Object). |
|
GetInstance | Obtiene el objeto NumberFormatInfo asociado al descriptor IFormatProvider especificado. |
|
GetType | Obtiene el objeto Type de la instancia actual. (Se hereda de Object). |
|
MemberwiseClone | Crea una copia superficial del objeto Object actual. (Se hereda de Object). |
|
ReadOnly | Devuelve un contenedor de NumberFormatInfo de sólo lectura. |
|
ToString | Devuelve una cadena que representa el objeto actual. (Se hereda de Object). |
Esta clase contiene información, como la moneda, los separadores decimales y otros símbolos numéricos.
Para crear un objeto NumberFormatInfo para una referencia cultural concreta, la aplicación crea un objeto CultureInfo para esa referencia cultural y recupera la propiedad CultureInfo.NumberFormat. Para crear un objeto NumberFormatInfo para la referencia cultural del subproceso actual, la aplicación usa la propiedad CurrentInfo. Para crear un objeto NumberFormatInfo para una referencia cultural de todos los idiomas, la aplicación usa la propiedad InvariantInfo para una versión de sólo lectura o usa el constructor NumberFormatInfo para una versión modificable. No es posible crear un objeto NumberFormatInfo para una referencia cultural neutra.
El usuario puede optar por invalidar algunos de los valores asociados a la referencia cultural actual de Windows a través de la configuración referente a las opciones de configuración regional y de idioma del Panel de control. Por ejemplo, el usuario puede mostrar la fecha en un formato diferente o utilizar una moneda diferente a la predeterminada para la referencia cultural. Si la propiedad CultureInfo.UseUserOverride se establece en true, las propiedades CultureInfo.DateTimeFormat, CultureInfo.NumberFormat y CultureInfo.TextInfo también se recuperan desde la configuración del usuario. Si la configuración del usuario no es compatible con la referencia cultural asociada al objeto CultureInfo (por ejemplo, si el calendario seleccionado no es uno de OptionalCalendars), no se definen los resultados de los métodos y los valores de las propiedades.
En las versiones anteriores a la versión 2.0 de .NET Framework, si la aplicación establece la propiedad CultureInfo.UseUserOverride en true, el objeto sólo lee las propiedades reemplazables por el usuario cuando se obtiene acceso a cada una por primera vez. Debido a que NumberFormatInfo tiene más de una propiedad reemplazable por el usuario, esta "inicialización relajada" puede generar una incoherencia entre dichas propiedades cuando la aplicación tiene acceso a una propiedad, el usuario cambia a otra referencia cultural o reemplaza propiedades de la referencia cultural actual mediante de la configuración referente a las opciones de configuración regional y de idioma del Panel de control. Después, la aplicación obtiene acceso a una propiedad distinta. Por ejemplo, se puede tener acceso a CurrencyGroupSeparator en una secuencia como ésta. Después, el usuario puede cambiar los modelos en el Panel de control y el objeto CurrencyDecimalSeparator, cuando se obtiene acceso, usa los nuevos valores. Se produce una incoherencia parecida cuando el usuario cambia la referencia cultural de usuario en el Panel de control.
En la versión 2.0 de .NET Framework y en versiones posteriores, NumberFormatInfo no utiliza esta "inicialización relajada". En su lugar, lee todas las propiedades reemplazables por el usuario al crearse. Sigue existiendo cierta vulnerabilidad en la que ni la creación de objetos ni el proceso de invalidación por parte del usuario son atómicos y los valores correspondientes pueden cambiar durante el proceso de creación de objetos. Sin embargo, la aparición de esta vulnerabilidad es muy poco habitual.
A los valores numéricos se les aplica formato mediante modelos personalizados o estándar almacenados en las propiedades de un NumberFormatInfo. Para modificar la presentación de un valor, la aplicación debe convertir el objeto NumberFormatInfo en modificable para que los modelos personalizados se puedan guardar en sus propiedades.
La siguiente tabla describe los modelos de formato de cada especificador de formato estándar y las propiedades NumberFormatInfo asociadas que se pueden establecer para modificar los formatos estándar. Para obtener más información sobre el uso de estos modelos, vea Cadenas con formato numérico estándar.
|
Modelo de formato |
Descripción y propiedades asociadas |
|---|---|
|
c, C |
Formato de moneda. Las propiedades adjuntas son: CurrencyDecimalDigits, CurrencyDecimalSeparator, CurrencyGroupSeparator, CurrencyGroupSizes, CurrencyNegativePattern, CurrencyPositivePattern, CurrencySymbol. |
|
d, D |
Formato decimal. |
|
e, E |
Formato científico (exponencial) |
|
f, F |
Formato de punto fijo. |
|
g, G |
Formato general. |
|
n, N |
Formato numérico. Las propiedades adjuntas son: NumberDecimalDigits, NumberDecimalSeparator, NumberGroupSeparator, NumberGroupSizes, NumberNegativePattern. |
|
p, P |
Formato de porcentaje. Las propiedades adjuntas son: PercentDecimalDigits, PercentDecimalSeparator, PercentGroupSeparator, PercentGroupSizes, PercentNegativePattern, PercentPositivePattern, PercentSymbol. |
|
r, R |
Formato de ida y vuelta. |
|
x, X |
Formato hexadecimal. |
Un objeto NumberFormatInfo sólo se pueden crear para la referencia cultural de todos los idiomas o para referencias culturales específicas, pero no para referencias culturales neutras. Para obtener más información acerca de la referencia cultural invariable y referencias culturales neutras, vea la clase CultureInfo.
NumberFormatInfo implementa la interfaz ICloneable para habilitar la duplicación de objetos NumberFormatInfo. También implementa IFormatProvider para proporcionar información de formato a aplicaciones.
El ejemplo siguiente muestra cómo recuperar un objeto NumberFormatInfo para un objeto CultureInfo correspondiente y utilizar el objeto recuperado para consultar la información de formato de número de la referencia cultural especificada.
using System; using System.Globalization; using System.Text; public sealed class App { static void Main() { StringBuilder sb = new StringBuilder(); // Loop through all the specific cultures known to the CLR. foreach (CultureInfo ci in CultureInfo.GetCultures(CultureTypes.SpecificCultures)) { // Only show the currency symbols for cultures that speak English. if (ci.TwoLetterISOLanguageName != "en") continue; // Display the culture name and currency symbol. NumberFormatInfo nfi = ci.NumberFormat; sb.AppendFormat("The currency symbol for '{0}' is '{1}'", ci.DisplayName, nfi.CurrencySymbol); sb.AppendLine(); } Console.WriteLine(sb.ToString()); } } // This code produces the following output. // // The currency symbol for 'English (United States)' is '$' // The currency symbol for 'English (United Kingdom)' is '�' // The currency symbol for 'English (Australia)' is '$' // The currency symbol for 'English (Canada)' is '$' // The currency symbol for 'English (New Zealand)' is '$' // The currency symbol for 'English (Ireland)' is '?' // The currency symbol for 'English (South Africa)' is 'R' // The currency symbol for 'English (Jamaica)' is 'J$' // The currency symbol for 'English (Caribbean)' is '$' // The currency symbol for 'English (Belize)' is 'BZ$' // The currency symbol for 'English (Trinidad and Tobago)' is 'TT$' // The currency symbol for 'English (Zimbabwe)' is 'Z$' // The currency symbol for 'English (Republic of the Philippines)' is 'Php'
Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2
.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.