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
Este tema aún no ha recibido ninguna valoración - Valorar este tema

NumberFormatInfo (Clase)

Define el modo en que se aplica formato y se muestran los valores numéricos, dependiendo de la referencia cultural.

System.Object
  System.Globalization.NumberFormatInfo

Espacio de nombres:  System.Globalization
Ensamblado:  mscorlib (en mscorlib.dll)
[SerializableAttribute]
[ComVisibleAttribute(true)]
public sealed class NumberFormatInfo : ICloneable, 
	IFormatProvider

El tipo NumberFormatInfo expone los siguientes miembros.

  Nombre Descripción
Método público Compatible con XNA Framework 2xdwt6xx.PortableClassLibrary(es-es,VS.100).gif NumberFormatInfo Inicializa una nueva instancia modificable de la clase NumberFormatInfo que es independiente de la referencia cultural (invariable).
Arriba
  Nombre Descripción
Propiedad pública Compatible con XNA Framework 2xdwt6xx.PortableClassLibrary(es-es,VS.100).gif CurrencyDecimalDigits Obtiene o establece el número de posiciones decimales que se van a utilizar en valores de divisa.
Propiedad pública Compatible con XNA Framework 2xdwt6xx.PortableClassLibrary(es-es,VS.100).gif CurrencyDecimalSeparator Obtiene o establece la cadena que se va a utilizar como separador decimal en valores de moneda.
Propiedad pública Compatible con XNA Framework 2xdwt6xx.PortableClassLibrary(es-es,VS.100).gif CurrencyGroupSeparator Obtiene o establece la cadena que separa grupos de dígitos a la izquierda de la coma decimal en valores de moneda.
Propiedad pública Compatible con XNA Framework 2xdwt6xx.PortableClassLibrary(es-es,VS.100).gif CurrencyGroupSizes Obtiene o establece el número de dígitos en cada grupo a la izquierda de la coma decimal en valores de moneda.
Propiedad pública Compatible con XNA Framework 2xdwt6xx.PortableClassLibrary(es-es,VS.100).gif CurrencyNegativePattern Obtiene o establece el modelo de formato para los valores de moneda negativos.
Propiedad pública Compatible con XNA Framework 2xdwt6xx.PortableClassLibrary(es-es,VS.100).gif CurrencyPositivePattern Obtiene o establece el modelo de formato para los valores de moneda positivos.
Propiedad pública Compatible con XNA Framework 2xdwt6xx.PortableClassLibrary(es-es,VS.100).gif CurrencySymbol Obtiene o establece la cadena que se va a utilizar como símbolo de moneda.
Propiedad pública Miembro estático Compatible con XNA Framework 2xdwt6xx.PortableClassLibrary(es-es,VS.100).gif CurrentInfo Obtiene un NumberFormatInfo de sólo lectura que aplica formato a los valores basándose en la referencia cultural actual.
Propiedad pública DigitSubstitution Obtiene o establece un valor que especifica cómo la interfaz gráfica de usuario muestra la forma de un dígito.
Propiedad pública Miembro estático Compatible con XNA Framework 2xdwt6xx.PortableClassLibrary(es-es,VS.100).gif InvariantInfo Obtiene la NumberFormatInfo predeterminada de sólo lectura que es independiente de la referencia cultural (invariable).
Propiedad pública Compatible con XNA Framework 2xdwt6xx.PortableClassLibrary(es-es,VS.100).gif IsReadOnly Obtiene un valor que indica si NumberFormatInfo es de sólo lectura.
Propiedad pública Compatible con XNA Framework 2xdwt6xx.PortableClassLibrary(es-es,VS.100).gif NaNSymbol Obtiene o establece la cadena que representa el valor NaN (no un número) de IEEE.
Propiedad pública NativeDigits Obtiene o establece una matriz de cadenas de dígitos nativos equivalentes a los dígitos occidentales del 0 al 9.
Propiedad pública Compatible con XNA Framework 2xdwt6xx.PortableClassLibrary(es-es,VS.100).gif NegativeInfinitySymbol Obtiene o establece la cadena que representa un infinito negativo.
Propiedad pública Compatible con XNA Framework 2xdwt6xx.PortableClassLibrary(es-es,VS.100).gif NegativeSign Obtiene o establece la cadena que denota que el número asociado es negativo.
Propiedad pública Compatible con XNA Framework 2xdwt6xx.PortableClassLibrary(es-es,VS.100).gif NumberDecimalDigits Obtiene o establece el número de posiciones decimales que se van a utilizar en valores numéricos.
Propiedad pública Compatible con XNA Framework 2xdwt6xx.PortableClassLibrary(es-es,VS.100).gif NumberDecimalSeparator Obtiene o establece la cadena que se va a utilizar como separador decimal en valores numéricos.
Propiedad pública Compatible con XNA Framework 2xdwt6xx.PortableClassLibrary(es-es,VS.100).gif NumberGroupSeparator Obtiene o establece la cadena que separa grupos de dígitos a la izquierda de la coma decimal en valores numéricos.
Propiedad pública Compatible con XNA Framework 2xdwt6xx.PortableClassLibrary(es-es,VS.100).gif NumberGroupSizes Obtiene o establece el número de dígitos en cada grupo a la izquierda de la coma decimal en valores numéricos.
Propiedad pública Compatible con XNA Framework 2xdwt6xx.PortableClassLibrary(es-es,VS.100).gif NumberNegativePattern Obtiene o establece el modelo de formato para los valores numéricos negativos.
Propiedad pública Compatible con XNA Framework 2xdwt6xx.PortableClassLibrary(es-es,VS.100).gif PercentDecimalDigits Obtiene o establece el número de posiciones decimales que se van a utilizar en valores de porcentaje.
Propiedad pública Compatible con XNA Framework 2xdwt6xx.PortableClassLibrary(es-es,VS.100).gif PercentDecimalSeparator Obtiene o establece la cadena que se va a utilizar como separador decimal en valores de porcentaje.
Propiedad pública Compatible con XNA Framework 2xdwt6xx.PortableClassLibrary(es-es,VS.100).gif PercentGroupSeparator Obtiene o establece la cadena que separa grupos de dígitos a la izquierda de la coma decimal en valores de porcentaje.
Propiedad pública Compatible con XNA Framework 2xdwt6xx.PortableClassLibrary(es-es,VS.100).gif PercentGroupSizes Obtiene o establece el número de dígitos en cada grupo a la izquierda de la coma decimal en valores de porcentaje.
Propiedad pública Compatible con XNA Framework 2xdwt6xx.PortableClassLibrary(es-es,VS.100).gif PercentNegativePattern Obtiene o establece el modelo de formato para los valores de porcentaje negativos.
Propiedad pública Compatible con XNA Framework 2xdwt6xx.PortableClassLibrary(es-es,VS.100).gif PercentPositivePattern Obtiene o establece el modelo de formato para los valores de porcentaje positivos.
Propiedad pública Compatible con XNA Framework 2xdwt6xx.PortableClassLibrary(es-es,VS.100).gif PercentSymbol Obtiene o establece la cadena que se va a utilizar como símbolo de porcentaje.
Propiedad pública Compatible con XNA Framework 2xdwt6xx.PortableClassLibrary(es-es,VS.100).gif PerMilleSymbol Obtiene o establece la cadena que se va a utilizar como símbolo de por mil.
Propiedad pública Compatible con XNA Framework 2xdwt6xx.PortableClassLibrary(es-es,VS.100).gif PositiveInfinitySymbol Obtiene o establece la cadena que representa un infinito positivo.
Propiedad pública Compatible con XNA Framework 2xdwt6xx.PortableClassLibrary(es-es,VS.100).gif PositiveSign Obtiene o establece la cadena que denota que el número asociado es positivo.
Arriba
  Nombre Descripción
Método público Compatible con XNA Framework 2xdwt6xx.PortableClassLibrary(es-es,VS.100).gif Clone Crea una copia superficial de NumberFormatInfo.
Método público Compatible con XNA Framework 2xdwt6xx.PortableClassLibrary(es-es,VS.100).gif Equals(Object) Determina si el objeto Object especificado es igual al objeto Object actual. (Se hereda de Object).
Método protegido Compatible con XNA Framework 2xdwt6xx.PortableClassLibrary(es-es,VS.100).gif 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).
Método público Compatible con XNA Framework 2xdwt6xx.PortableClassLibrary(es-es,VS.100).gif GetFormat Obtiene un objeto del tipo especificado que proporciona un servicio de formato numérico.
Método público Compatible con XNA Framework 2xdwt6xx.PortableClassLibrary(es-es,VS.100).gif GetHashCode Actúa como función hash para un tipo concreto. (Se hereda de Object).
Método público Miembro estático Compatible con XNA Framework 2xdwt6xx.PortableClassLibrary(es-es,VS.100).gif GetInstance Obtiene el objeto NumberFormatInfo asociado al descriptor IFormatProvider especificado.
Método público Compatible con XNA Framework 2xdwt6xx.PortableClassLibrary(es-es,VS.100).gif GetType Obtiene el objeto Type de la instancia actual. (Se hereda de Object).
Método protegido Compatible con XNA Framework 2xdwt6xx.PortableClassLibrary(es-es,VS.100).gif MemberwiseClone Crea una copia superficial del objeto Object actual. (Se hereda de Object).
Método público Miembro estático Compatible con XNA Framework 2xdwt6xx.PortableClassLibrary(es-es,VS.100).gif ReadOnly Devuelve un contenedor de NumberFormatInfo de sólo lectura.
Método público Compatible con XNA Framework 2xdwt6xx.PortableClassLibrary(es-es,VS.100).gif ToString Devuelve una cadena que representa el objeto actual. (Se hereda de Object).
Arriba

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'


.NET Framework

Compatible con: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Compatible con:

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.
Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.
¿Le ha resultado útil?
(Caracteres restantes: 1500)
Contenido de la comunidad Agregar