Información general sobre formatos

Actualización: noviembre 2007

.NET Framework proporciona un mecanismo de aplicación de formato para uso general, que se puede personalizar para convertir un valor en una cadena apropiada para su presentación. Por ejemplo, a un valor numérico se le puede asignar un formato hexadecimal, con notación científica, o una serie de dígitos separados en grupos con un signo de puntuación especificado por el usuario. A las fechas y horas se les puede asignar un formato apropiado de un país, región o cultura concretos. A una constante enumerada se le puede asignar un formato conforme a su valor numérico o su nombre.

Se puede controlar la aplicación de formato, mediante la especificación de una cadena de formato y un proveedor de formato, o al utilizar los valores predeterminados. Una cadena de formato contiene uno o más caracteres especificadores de formato que indican cómo se tiene que convertir un valor. Un proveedor de formato suministra información de control adicional, de sustitución y cultural necesaria para convertir un tipo específico.

Puede invalidar el modo en que .NET Framework interpreta una cadena de formato con la implementación de la interfaz IFormattable, proporcionar un proveedor de formato propio con la implementación de la interfaz IFormatProvider y realizar un formato propio mediante la implementación de la interfaz ICustomFormatter.

.NET Framework proporciona una característica denominada formato compuesto que utiliza una o varias cadenas para incrustar uno o más valores con formato en una cadena de resultado. Se puede utilizar la cadena de resultado para un procesamiento posterior, que se muestre en la consola del sistema, o escrito en una secuencia.

Especificadores de formato

.NET Framework define especificadores de formato personalizados y estándar para el formato de números, fechas y horas, y enumeraciones. Los especificadores de formato se utilizan en varios métodos que dan formato a cadenas de salida, como Console.WriteLine y las sobrecargas individuales del método ToString de ciertos tipos, y en algunos métodos que analizan cadenas de entrada, tales como Parse y DateTime.ParseExact.

Para obtener información sobre el formato de datos numéricos, vea Cadenas de formato numérico. Para obtener una tabla con los especificadores de formato numérico que se utilizan normalmente, vea Cadenas de formato numérico estándar, y para obtener una tabla de especificadores de formato personalizados que se pueden utilizar para crear una cadena de formato propia, vea Cadenas de formato numérico personalizado.

Para obtener información sobre el formato de fechas y horas, vea Cadenas de formato de fecha y hora. Para obtener una tabla con los especificadores de formato de fecha y hora que se utilizan normalmente, vea Cadenas de formato de fecha y hora estándar, y para obtener una tabla de especificadores de formato de fecha y hora personalizados que se pueden utilizar para crear una cadena de formato propia, vea Cadenas de formato de fecha y hora personalizado.

Para obtener información acerca de cómo se llevan a cabo algunas operaciones de formato específicas, por ejemplo, extraer el día de la semana de una fecha concreta o mostrar la fecha mediante un calendario no gregoriano, vea Temas "Cómo..." sobre formatos.

Para obtener información sobre el formato de enumeraciones, y una tabla de especificadores de formato de enumeración estándar, vea Cadenas de formato de enumeración.

Especificadores de formato y de análisis

La aplicación de formato convierte el valor de un tipo en una representación de cadena; el análisis, la operación inversa de la aplicación de formato, crea un tipo de datos desde una representación de cadena. Un proveedor de formato controla la forma en que se realiza el análisis, y algunos métodos, como DateTime.ParseExact, toman un parámetro de especificador de formato que indica el formato esperado de la representación de cadena. Para obtener más información acerca del análisis, vea Analizar cadenas.

Especificadores de formato y método ToString

.NET Framework admite la sobrecarga del método predeterminado ToString de un tipo, que realiza un formato rudimentario, con una versión especializada de ToString que utiliza un parámetro de especificador de formato para indicar cuál va a ser el formato del valor. Para obtener más información, vea Aplicar formatos a tipos base y la interfaz IFormattable.

Proveedores de formato

Los proveedores de formato proporcionan información, como el carácter que se va a utilizar en lugar del separador decimal cuando se da formato a cadenas numéricas o el carácter de separación que se va a utilizar al dar formato a un objeto DateTime. Los proveedores de formato definen los caracteres que los especificadores de formato utilizan para dar formato, pero no definen a los especificadores.

Se puede pasar un proveedor de formato a la sobrecarga de ToString requerida por la interfaz IFormattable o se puede predeterminar mediante el método que se está utilizando para dar formato al texto si no se ha pasado ningún proveedor de formato.

Cuando no se pasa ningún proveedor de formato, la información se deduce o se obtiene de uno de los proveedores de formato estándar incluidos en .NET Framework. Generalmente, las clases que implementan IFormattable también proporcionan sobrecargas de ToString que sólo aceptan un especificador de formato o un proveedor de formato. El método ToString predeterminado, que no acepta ningún parámetro, se hereda de la clase Object.

Para obtener información sobre el proveedor de formato predefinido para datos numéricos, vea NumberFormatInfo. Para obtener información sobre el proveedor de formato predefinido para fechas y horas, vea DateTimeFormatInfo. Para obtener información acerca de cómo se crea un proveedor de formato personalizado o un proveedor de formato para una referencia cultural diferente, vea CultureInfo, Aplicar formato para diferentes referencias culturales y Cómo: Definir y usar proveedores de formato numérico personalizado.

Formatos compuestos

La característica de formato compuesto de .NET Framework, que es compatible con métodos como String.Format y los métodos de salida de System.Console y System.IO.TextWriter, reemplaza cada elemento de formato indizado que está incrustado en una cadena de destino con el elemento con formato equivalente correspondiente de una lista de valores. Para obtener más información, vea Formato compuesto.

Vea también

Conceptos

Cadenas de formato numérico

Cadenas de formato de fecha y hora

Cadenas de formato de enumeración

Personalizar cadenas de formato

Formatos compuestos

Temas "Cómo..." sobre formatos

Referencia

IFormattable

IFormatProvider

ICustomFormatter

Otros recursos

Aplicar formato a tipos

Analizar cadenas

Operaciones básicas de cadenas