Visão geral sobre formatação

O .NET Framework fornece um mecanismo de formatação personalizável, de uso geral, para converter um valor em uma sequência de caracteres adequada para exibição.Por exemplo, um valor numérico pode ser formatado em hexadecimal, em notação científica, ou em uma série de dígitos separados em grupos com uma marca de pontuação especificada pelo usuário.Datas e horas podem ser formatadas apropriadamente para um determinado país, região ou cultura.Uma constante enumerada pode ser formatada como seu valor numérico ou seu nome.

Você controla a formatação especificando uma sequência de caracteres de formatação e um provedor de formatação, ou usando os padrões.Uma sequência de caracteres de formatação contém um ou mais caracteres especificadores de formatação, que indicam como um valor deve ser convertido.Um provedor de formatação fornece controle adicional, substituição e informações culturais necessárias para converter um tipo específico.

Você pode substituir a forma que .NET Framework interpreta uma sequência de caracteres de formatação implementando a interface IFormattable, fornecer seu próprio provedor de formatação implementando a interface IFormatProvider e executar sua própria formatação implementando a interface ICustomFormatter.

O .NET Framework fornece um recurso chamado formatação composta que utiliza uma ou mais sequências de formatação para incorporar um ou mais valores formatados em uma sequência de resultado.A sequência de resultado pode ser usada para processamento adicional, exibida no console do sistema ou gravada em um fluxo.

Especificadores de Formato

O .NET Framework define especificadores de formatação padrão e personalizados para formatar números, datas e horas, e enumerações.Especificadores de formatação são usados por diversos métodos que formatam sequências de caracteres de saída, tais como Console.WriteLine e as sobrecargas individuais do método ToString de determinados tipos, e por alguns métodos que analisam entradas de sequências de caracteres, tais como Parse e DateTime.ParseExact.

Para obter informações sobre como formatar dados numéricos, consulte Formato Numérico sequências de caracteres.Para uma tabela de especificadores de formatação numérica comumente usados, consulte Formatação Númerica Padrão de Sequências de Caracteres, e para uma tabela de especificadores de formatação personalizados que você pode usar para criar seu próprio formato de sequência de caracteres, consulte Formatação Numérica Personalizada de Sequências de Caracteres.

Para obter informações sobre como formatar datas e horas, consulte Sequências de Caracteres de Formatação de Data e Hora.Para uma tabela de especificadores de formatação de data e hora comumente usados, consulte Sequências de Caracteres de Formatação Padrão de Data e Hora, e para uma tabela de especificadores de formatação personalizados de data e hora que você pode utilizar para criar sua própria sequência de caracteres de formatação, consulte Sequências de Caracteres de Formatação Personalizadas de Data e Hora.

Para obter informações sobre como executar algumas operações de formatação específicas, tais como extrair o dia da semana a partir de uma data específica ou exibir a data usando um calendário não gregoriano, consulte Formatação Tópicos de Como Fazer.

Para obter informações sobre formatação de enumeraççoes e um índice de especificadores padrões de formatos de enumeração, consulte Sequências de Caracteres de Formatação de Enumerações.

Especificadores de Formatação e Análise

A formatação converte o valor de um tipo em uma representação em sequência de caracteres; análise, o inverso da formatação, cria um tipo de dados a partir de uma representação em sequência de caracteres.Um provedor de formatação determina como a análise é executada, e alguns métodos, tais como DateTime.ParseExact, recebem como parâmetro um especificador de formatação que indica o formato esperado na representação em sequência de caracteres.Para obter mais informações sobre análise, consulte Analisando Sequências de Caracteres.

ToString e Especificadores de Formatação

O .NET Framework oferece suporte à sobrecarga do método ToString padrão de um tipo, que executa formatação de modo rudimentar, com uma versão especializada do ToString que usa um parâmetro especificador de formatação para indicar como o valor deve ser formatado.Para obter mais informações, consulte Formatação de Tipos de Base e a interface IFormattable.

Provedores de Formatação

Provedores de formatação fornecem informações tais como o caractere a ser utilizado como ponto decimal na formatação de sequências de caracteres numéricas, ou o caractere de separação a ser usado ao formatar um objeto DateTime.Provedores de Formatação definem os caracteres utilizados para formatação pelos especificadores de formatação, mas não definem os próprios especificadores.

Um provedor de formatação pode ser passado para a sobrecarga de ToString exigida pela interface IFormattable, ou ser predeterminado pelo método que você está utilizando para formatar o texto, se nenhum provedor de formatação for passado.

Quando nenhum provedor de formatação for passado, as informações são inferidas, ou obtidas de um dos provedores de formatação padrão incluídos no .NET Framework.Geralmente, as classes que implementam IFormattable também fornecem sobrecargas de ToString que aceitam apenas um especificador de formatação ou somente um provedor de formatação.O método ToString padrão, que não aceita parâmetros, é herdado da classeObject.

Para obter informações sobre o provedor de formatação predefinido para dados numéricos, consulte NumberFormatInfo.Para obter informações sobre o provedor de formatação predefinido para datas e horas, consulte DateTimeFormatInfo.Para obter informações sobre como criar um provedor de formatação personalizado, ou um provedor de formatação para uma cultura diferente, consulte CultureInfo,Formatação para Diferentes Culturas e Como: Definir e usar provedores de formato numérico personalizado.

Formatação Composta

O recurso de formatação composta do .NET Framework, que é suportado por métodos tais como String.Format e os métodos de saída de System.Console e System.IO.TextWriter, substitui cada item de formatação indexado, que está incorporado em uma sequência de caracteres de origem, com o equivalente, formatado, de um elemento correspondente em uma lista de valores.Para obter mais informações, consulte Formatação Composta.

Consulte também

Conceitos

Sequências de caracteres de formato numérico

Sequências de Caracteres de Formatação de Data e Hora

Sequências de Caracteres de Formatação de Enumeração

Personalizando Sequências de Caracteres de Formato

Formatação Composta

Formatação Tópicos de Como Fazer

Referência

IFormattable

IFormatProvider

ICustomFormatter

Outros recursos

Tipos de Formatação

Analisando sequências de caracteres

Operações Básicas com Sequências de Caracteres