Evaluar y enviar comentarios
Contraer todo/Expandir todo Contraer todo
Esta página es específica de
Microsoft Visual Studio 2005/.NET Framework 2.0

Hay además otras versiones disponibles para:
Biblioteca de clases de .NET Framework
NumberFormatInfo (Clase)

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

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

Visual Basic (Declaración)
<SerializableAttribute> _
<ComVisibleAttribute(True)> _
Public NotInheritable Class NumberFormatInfo
    Implements ICloneable, IFormatProvider
Visual Basic (Uso)
Dim instance As NumberFormatInfo
C#
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public sealed class NumberFormatInfo : ICloneable, IFormatProvider
C++
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public ref class NumberFormatInfo sealed : ICloneable, IFormatProvider
J#
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
public final class NumberFormatInfo implements ICloneable, IFormatProvider
JScript
SerializableAttribute 
ComVisibleAttribute(true) 
public final class NumberFormatInfo implements ICloneable, IFormatProvider

Esta clase contiene información, como la moneda, los separadores decimales y otros símbolos numéricos.

Para crear una NumberFormatInfo para una referencia cultural específica, cree una CultureInfo para la referencia cultural y recupere la propiedad CultureInfo.NumberFormat. Para crear una NumberFormatInfo para la referencia cultural del subproceso actual, utilice la propiedad CurrentInfo. Para crear una NumberFormatInfo para una referencia cultural invariable, utilice la propiedad InvariantInfo para una versión de sólo lectura o el constructor NumberFormatInfo para una versión modificable. No es posible crear una NumberFormatInfo para una referencia cultural neutra.

El usuario puede reemplazar, si lo desea, algunos de los valores asociados a la referencia cultural actual de Windows en 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 de la instancia de CultureInfo.DateTimeFormat, la instancia de CultureInfo.NumberFormat y la instancia de 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 a CultureInfo (por ejemplo, si el calendario seleccionado no es uno de OptionalCalendars), el resultado de los métodos y los valores de las propiedades no se definen.

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 forma de presentación de un valor, NumberFormatInfo debe ser modificable para que los modelos personalizados se puedan guardar en sus propiedades.

La siguiente tabla enumera los caracteres de formato estándar para cada modelo estándar y la propiedad NumberFormatInfo asociada que se puede establecer para modificar el modelo estándar.

Carácter de formato

Descripción y propiedades asociadas

c, C

Formato de moneda. CurrencyNegativePattern, CurrencyPositivePattern, CurrencySymbol, CurrencyGroupSizes, CurrencyGroupSeparator, CurrencyDecimalDigits, CurrencyDecimalSeparator.

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. NumberNegativePattern, NumberGroupSizes, NumberGroupSeparator, NumberDecimalDigits, NumberDecimalSeparator.

r, R

Formato de ida y vuelta, que garantiza que los números convertidos a cadenas tendrán el mismo valor cuando se vuelvan a convertir a números.

x, X

Formato hexadecimal.

DateTimeFormatInfo o NumberFormatInfo sólo se pueden crear para la referencia cultural invariable 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.

Esta clase implementa la interfaz ICloneable para habilitar la duplicación de objetos NumberFormatInfo. También implementa IFormatProvider para proporcionar información de formato a aplicaciones.

En el ejemplo de código siguiente se muestra cómo obtener una NumberFormatInfo para una CultureInfo correspondiente y utilizar ese NumberFormatInfo para consultar la información de formato de número de esa referencia cultural.

C#
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'
C++
using namespace System;
using namespace System::Globalization;
using namespace System::Text;

int main()
{
    StringBuilder^ builder = gcnew StringBuilder();

    // Loop through all the specific cultures known to the CLR.
    for each(CultureInfo^ culture in 
        CultureInfo::GetCultures (CultureTypes::SpecificCultures)) 
    {
        // Only show the currency symbols for cultures 
        // that speak English.
        if (culture->TwoLetterISOLanguageName == "en")
        {
            // Display the culture name and currency symbol.
            NumberFormatInfo^ numberFormat = culture->NumberFormat;
            builder->AppendFormat("The currency symbol for '{0}'"+
                "is '{1}'",culture->DisplayName,
                numberFormat->CurrencySymbol);
            builder->AppendLine();
        }
    }
    Console::WriteLine(builder);
}

// 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'
System.Object
  System.Globalization.NumberFormatInfo
Los miembros estáticos públicos (Shared en Visual Basic) 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.

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.

.NET Framework

Compatible con: 2.0, 1.1, 1.0

.NET Compact Framework

Compatible con: 2.0, 1.0
Contenido de la comunidad   ¿Qué es Community Content?
Agregar contenido nuevo RSS  Anotaciones
Processing
© 2009 Microsoft Corporation. Reservados todos los derechos. Términos de uso | Marcas Registradas | Privacidad
Page view tracker