Share via


Sequências de Caracteres de Formato Numérico Personalizado

Você pode criar uma seqüência de caracteres de formato numérico personalizado, que consiste em um ou mais personalizados numéricos especificadores, para definir como formatar dados numéricos. Uma seqüência de caracteres de formato numérico personalizado é qualquer cadeia de caracteres de formato não é um seqüência de caracteres de formato numérico padrão.

Seqüências de caracteres de formato numérico personalizado são suportadas por algumas sobrecargas do ToString o método de todos os tipos numéricos. Por exemplo, você pode fornecer uma seqüência de caracteres de formato numérico para o ToString(String) e ToString(String, IFormatProvider) métodos para a Int32 tipo. Também há suporte para seqüências de caracteres de formato numérico personalizado o.NET Framework composto recurso formatação, que é usado por alguns Write e WriteLine métodos para a Console e StreamWriter classes, o String.Format método e o StringBuilder.AppendFormat método.

Observação

Você pode baixar o O utilitário de formato, seqüências de caracteres de um aplicativo que permite que você aplique o formato numérico ou a data e hora, valores e exibe a seqüência de resultado.

A tabela a seguir descreve os especificadores de formato numérico personalizado e exibe um exemplo de saída produzido por cada especificador de formato. Consulte o anotações seção para obter informações adicionais sobre como usar seqüências de caracteres de formato numérico personalizado e o exemplo seção para obter uma ilustração abrangente de seu uso.

Especificador de Formato

Nome

Descrição

Exemplos

"0"

Espaço Reservado para Zero

Substitui o zero com o dígito correspondente, se houver; Caso contrário, o zero aparece na seqüência de resultado.

Mais informações: "0" O especificador personalizado.

1234.5678 ("00000") -> 01235

0.45678 ("0,00" en-US) - > 0.46

0.45678 ("0,00" fr-FR) - > 0,46

"#"

Espaço Reservado para Dígito

Substitui o sinal de libra com o dígito correspondente, se houver; Caso contrário, Nenhum dígito aparece na seqüência de resultado.

Mais informações: O "#" O especificador personalizado.

1234.5678 ("#####") -> 1235

0.45678 ("#. # #", en-US)-> .46

0.45678 ("#. # #", fr-FR)-> 46

"."

Ponto Decimal

Determina o local do separador decimal na seqüência de resultado.

Mais informações: O "." O especificador personalizado.

0.45678 ("0,00" en-US) - > 0.46

0.45678 ("0,00" fr-FR) - > 0,46

","

Separador de grupo e o número de dimensionamento

Serve como um separador de grupo e de um especificador de número de dimensionamento. Como um separador de grupo, ele insere um caractere separador de grupo localizado entre cada grupo. Como um especificador de escala numérico, ele divide um número por 1000 para cada vírgula especificado.

Mais informações: O "," O especificador personalizado.

Especificador de separador de grupo:

2147483647 ("# #, #", en-US)-> 2.147.483.647

2147483647 ("# #, #", es-ES)-> 2.147.483.647

Especificador de escala:

2147483647 ("#, #,," en-US)-> 2,147

2147483647 ("#, #,", es-ES) - > 2.147

"%"

Espaço reservado de Porcentaem

Multiplica um número por 100 e insere um símbolo de porcentagem localizadas na seqüência de resultado.

Mais informações: "%" O especificador personalizado.

0.3697 ("% # 0,00" en-US) - > % 36.97

0.3697 ("% # 0,00" el-GR) - > % 36,97

0.3697 ("# # %. 0," en-US)-> 37.0 %

0.3697 ("# # %. 0," el-GR)-> 37,0%

"‰"

Por espaço reservado de mille

Multiplica um número por 1000 e insere um localizado por um símbolo de mille na seqüência de resultado.

Mais informações: "‰" O especificador personalizado.

0.03697 ("# 0.00‰", en-US) - > 36.97‰

0.03697 ("# 0.00‰", ru-RU) - > 36, 97‰

"E0"

"E + 0"

"E-0"

"e0"

"e + 0"

"e-0"

Notação exponencial

Se seguido pelo menos um 0 (zero), formata o resultado usando a notação exponencial. No caso de "E" ou "e" indica a ocorrência do símbolo expoente na seqüência de resultado. O número de zeros, seguindo o "E" ou "e" caractere determina o número mínimo de dígitos no expoente. Um sinal de adição (+) indica que o caractere de sinal sempre precede o expoente. Um sinal de subtração (-) indica que o caractere de sinal precede somente ao lado dos expoentes negativos.

Mais informações: O "E" e "e" Especificadores personalizados.

987654 ("# 0.0e0") - > 98.8e4

1503.92311 ("0.0 # # e + 00") - > 1.504e + 03.

1.8901385E - 16 ("0.0e + 00") - > 1.9e-16

\

Caractere de Escape

Faz com que o próximo caractere deve ser interpretado como um literal, em vez de fazê-lo como um especificador de formato personalizado.

Mais informações: O "\" Caractere de escape.

987654 ("\###00\#") -> #987654#

'seqüência de caracteres'

"string"

Delimitador de seqüência de caracteres literal

Indica que os caracteres incluídos devem ser copiados para a seqüência de caracteres de resultado inalterada.

68 ("# ' graus ")-> 68 graus

68 ("#' graus ")-> 68 graus

;

Separador de Seção

Define as seções com seqüências de caracteres de formato separado para positivos, negativos e números de zero.

Mais informações: O ";" Separador de seção.

12.345 ("#0.0#;(#0.0#);-\0-") -> 12.35

0 ("#0.0#;(#0.0#);-\0-") -> -0-

-12.345 ("#0.0#;(#0.0#);-\0-") -> (12.35)

12.345 ("#0.0#;(#0.0#)") -> 12.35

0 ("#0.0#;(#0.0#)") -> 0.0

-12.345 ("#0.0#;(#0.0#)") -> (12.35)

Outros

Todos outros caracteres

O caractere é copiado para a seqüência de caracteres de resultado inalterada.

68 ("# °") -> 68 °

As seções a seguintes fornecem informações detalhadas sobre cada um dos especificadores de formato numérico personalizado.

"0" Especificador personalizado

"0" o especificador de formato personalizado serve como um símbolo de espaço reservado do zero. Se o valor que está sendo formatado tem um dígito na posição onde o zero aparece na seqüência de formato, que dígito é copiado para a seqüência de caracteres do resultado; Caso contrário, um zero aparece na seqüência de resultado. A posição do zero à esquerda antes do ponto decimal e o zero mais à direita após o ponto decimal determina o intervalo de dígitos que estão sempre presentes na seqüência de resultado.

O especificador "00" faz com que o valor a ser arredondado para o dígito mais próximo anterior ao decimal, onde o arredondamento para cima sempre é usado. Por exemplo, formatando 34.5 com "00" resultaria no valor 35.

O exemplo a seguir exibe vários valores são formatados usando seqüências de caracteres de formato personalizado que incluem espaços reservados para zero.

Dim value As Double

value = 123
Console.WriteLine(value.ToString("00000"))
' Displays 00123

value = 1.2
Console.Writeline(value.ToString("0.00", CultureInfo.InvariantCulture))
' Displays 1.20
Console.WriteLine(value.ToString("00.00", CultureInfo.InvariantCulture))
' Displays 01.20
Console.WriteLine(value.ToString("00.00", _
                  CultureInfo.CreateSpecificCulture("da-DK")))
' Displays 01,20

value = .56
Console.WriteLine(value.ToString("0.0", CultureInfo.InvariantCulture))
' Displays 0.6

value = 1234567890
Console.WriteLine(value.ToString("0,0", CultureInfo.InvariantCulture))  
' Displays 1,234,567,890      
Console.WriteLine(value.ToString("0,0", 
                  CultureInfo.CreateSpecificCulture("el-GR")))  
' Displays 1.234.567.890

value = 1234567890.123456
Console.WriteLine(value.ToString("0,0.0", CultureInfo.InvariantCulture))    
' Displays 1,234,567,890.1  

value = 1234.567890
Console.WriteLine(value.ToString("0,0.00", CultureInfo.InvariantCulture))   
' Displays 1,234.57 
double value;

value = 123;
Console.WriteLine(value.ToString("00000"));
// Displays 00123

value = 1.2;
Console.WriteLine(value.ToString("0.00", CultureInfo.InvariantCulture));
// Displays 1.20
Console.WriteLine(value.ToString("00.00", CultureInfo.InvariantCulture));
// Displays 01.20
Console.WriteLine(value.ToString("00.00", 
                  CultureInfo.CreateSpecificCulture("da-DK")));
// Displays 01,20

value = .56;
Console.WriteLine(value.ToString("0.0", CultureInfo.InvariantCulture));
// Displays 0.6

value = 1234567890;
Console.WriteLine(value.ToString("0,0", CultureInfo.InvariantCulture)); 
// Displays 1,234,567,890      
Console.WriteLine(value.ToString("0,0", 
                  CultureInfo.CreateSpecificCulture("el-GR"))); 
// Displays 1.234.567.890

value = 1234567890.123456;
Console.WriteLine(value.ToString("0,0.0", CultureInfo.InvariantCulture));   
// Displays 1,234,567,890.1  

value = 1234.567890;
Console.WriteLine(value.ToString("0,0.00", CultureInfo.InvariantCulture));  
// Displays 1,234.57 

Volta à tabela

O "#" Especificador personalizado

O "#" o especificador de formato personalizado serve como um símbolo de espaço reservado de dígito. Se o valor que está sendo formatado tem um dígito na posição onde o sinal de libra aparece na seqüência de formato, que dígito é copiado para a seqüência de resultado. Caso contrário, nada é armazenado nessa posição na sequência de resultados.

Observe que este especificador nunca exibe um zero que não é um dígito significativo, mesmo se zero é o único dígito na seqüência de caracteres. Ele exibirá zero somente se ele for um dígito significativo no número que está sendo exibido.

O especificador "##" faz com que o valor a ser arredondado para o dígito mais próximo anterior ao decimal, onde o arredondamento para cima sempre é usado. Por exemplo, formatando 34.5 com "##" resultaria no valor 35.

O exemplo a seguir exibe vários valores são formatados usando seqüências de caracteres de formato personalizado que contêm espaços reservados de dígito.

      Dim value As Double

      value = 1.2
      Console.WriteLine(value.ToString("#.##", CultureInfo.InvariantCulture))
      ' Displays 1.2

      value = 123
      Console.WriteLine(value.ToString("#####"))
      ' Displays 123

      value = 123456
      Console.WriteLine(value.ToString("[##-##-##]"))      
       ' Displays [12-34-56]

      value = 1234567890
      Console.WriteLine(value.ToString("#"))
      ' Displays 1234567890
      Console.WriteLine(value.ToString("(###) ###-####"))
      ' Displays (123) 456-7890
      double value;

      value = 1.2;
      Console.WriteLine(value.ToString("#.##", CultureInfo.InvariantCulture));
      // Displays 1.2

      value = 123;
      Console.WriteLine(value.ToString("#####"));
      // Displays 123

      value = 123456;
      Console.WriteLine(value.ToString("[##-##-##]"));      
       // Displays [12-34-56]

      value = 1234567890;
      Console.WriteLine(value.ToString("#"));
      // Displays 1234567890
      Console.WriteLine(value.ToString("(###) ###-####"));
      // Displays (123) 456-7890

Volta à tabela

O "." Especificador personalizado

O "." o especificador de formato personalizado insere um separador decimal localizado na seqüência de resultado. O primeiro período na cadeia de caracteres de formato determina o local do separador decimal no valor formatado; qualquer períodos adicionais são ignorados.

O caractere usado como separador decimal na seqüência de resultado não é sempre um período; ele é determinado pelo NumberDecimalSeparator propriedade da NumberFormatInfo o objeto que controla a formatação.

O exemplo a seguir usa a "." especificador de formato para definir o local do ponto decimal em várias cadeias de caracteres de resultado.

      Dim value As Double

      value = 1.2
      Console.Writeline(value.ToString("0.00", CultureInfo.InvariantCulture))
      ' Displays 1.20
      Console.WriteLine(value.ToString("00.00", CultureInfo.InvariantCulture))
      ' Displays 01.20
      Console.WriteLine(value.ToString("00.00", _
                        CultureInfo.CreateSpecificCulture("da-DK")))
      ' Displays 01,20

      value = .086
      Console.WriteLine(value.ToString("#0.##%", CultureInfo.InvariantCulture)) 
      ' Displays 8.6%

      value = 86000
      Console.WriteLine(value.ToString("0.###E+0", CultureInfo.InvariantCulture))
       ' Displays 8.6E+4
      double value;

      value = 1.2;
      Console.WriteLine(value.ToString("0.00", CultureInfo.InvariantCulture));
      // Displays 1.20
      Console.WriteLine(value.ToString("00.00", CultureInfo.InvariantCulture));
      // Displays 01.20
      Console.WriteLine(value.ToString("00.00", 
                        CultureInfo.CreateSpecificCulture("da-DK")));
      // Displays 01,20

      value = .086;
      Console.WriteLine(value.ToString("#0.##%", CultureInfo.InvariantCulture)); 
      // Displays 8.6%

      value = 86000;
      Console.WriteLine(value.ToString("0.###E+0", CultureInfo.InvariantCulture));
       // Displays 8.6E+4

Volta à tabela

O "," Especificador personalizado

O "," caractere serve como um separador de grupo e de um especificador de número de dimensionamento.

  • Separador de grupo: Se as vírgulas de um ou mais são especificadas entre dois espaços reservados para dígito (0 ou #) que os dígitos integrais de um número de formatação, um caractere separador de grupo é inserido entre cada grupo de números na parte integral da saída.

    As propriedades NumberGroupSeparator e NumberGroupSizes do atual objeto NumberFormatInfo determinam o caractere usado como separador de número de grupo e o tamanho de cada grupo de números. Por exemplo, se a sequência de caracteres "#, #" e a cultura invariável são usadas para formatar o número 1000, a saída será "1.000".

  • Dimensionamento de especificador de número: Se um ou mais de vírgulas forem especificadas imediatamente à esquerda da vírgula decimal explícita ou implícita, o número a ser formatada é dividido por 1000 para cada vírgula. Por exemplo, se a sequência de caracteres "0,," é usada para formatar o número 100 milhões, a saída será "100".

Você pode usar o número de especificadores de dimensionamento e o separador de grupo na mesma seqüência de caracteres de formato. Por exemplo, se a sequência de caracteres "#, 0,," e a cultura invariável são usadas para formatar o número um bilhão, a saída será "1,000".

O exemplo a seguir ilustra o uso de vírgula como separador de grupo.

Dim value As Double = 1234567890
Console.WriteLine(value.ToString("#,#", CultureInfo.InvariantCulture))
' Displays 1,234,567,890      
Console.WriteLine(value.ToString("#,##0,,", CultureInfo.InvariantCulture))
' Displays 1,235        
double value = 1234567890;
Console.WriteLine(value.ToString("#,#", CultureInfo.InvariantCulture));
// Displays 1,234,567,890      
Console.WriteLine(value.ToString("#,##0,,", CultureInfo.InvariantCulture));
// Displays 1,235       

O exemplo a seguir ilustra o uso da vírgula como um especificador para escala de numérica.

      Dim value As Double = 1234567890
      Console.WriteLine(value.ToString("#,,", CultureInfo.InvariantCulture))    
      ' Displays 1235   
      Console.WriteLine(value.ToString("#,,,", CultureInfo.InvariantCulture))
       ' Displays 1  
      Console.WriteLine(value.ToString("#,##0,,", CultureInfo.InvariantCulture))       
       ' Displays 1,235
      double value = 1234567890;
      Console.WriteLine(value.ToString("#,,", CultureInfo.InvariantCulture));   
      // Displays 1235   
      Console.WriteLine(value.ToString("#,,,", CultureInfo.InvariantCulture));
       // Displays 1  
      Console.WriteLine(value.ToString("#,##0,,", CultureInfo.InvariantCulture));       
       // Displays 1,235

Volta à tabela

"%" Especificador personalizado

Um sinal de porcentagem (%) em uma seqüência de formato faz com que um número a ser multiplicado por 100 antes de ser formatado. O símbolo de porcentagem localizado é inserido o número no local onde o % aparece na seqüência de formato. O caractere de porcentagem usado é definido pelo PercentSymbol a propriedade do atual NumberFormatInfo objeto.

O exemplo a seguir define várias cadeias de caracteres de formato personalizado que incluem "%" especificador de personalizado.

Dim value As Double = .086
Console.WriteLine(value.ToString("#0.##%", CultureInfo.InvariantCulture))
' Displays 8.6%      
double value = .086;
Console.WriteLine(value.ToString("#0.##%", CultureInfo.InvariantCulture));
// Displays 8.6%      

Volta à tabela

"‰" Especificador personalizado

Um por um caractere de mille (‰ ou \u2030) em uma seqüência de formato faz com que um número a ser multiplicado por 1.000 antes de ser formatado. Por um símbolo de mille apropriado é inserido na string retornada no local onde o símbolo ‰ aparece na seqüência de formato. O por mille o caractere usado é definido pelo NumberFormatInfo.PerMilleSymbol a propriedade do objeto que fornece informações de formatação específicas da cultura.

O exemplo a seguir define uma seqüência de caracteres de formato personalizado que inclui o "‰" especificador de personalizado.

Dim value As Double = .00354
Dim perMilleFmt As String = "#0.## " & ChrW(&h2030)
Console.WriteLine(value.ToString(perMilleFmt, CultureInfo.InvariantCulture))
' Displays 3.54 ‰      
double value = .00354;
string perMilleFmt = "#0.## " + '\u2030';
Console.WriteLine(value.ToString(perMilleFmt, CultureInfo.InvariantCulture));
// Displays 3.54‰      

Volta à tabela

O "E" e "e" Especificadores personalizados

Se algum das seqüências de caracteres "E", "E +", "E-", "e", "e +" ou "e-" estão presentes na seqüência de caracteres de formato e são seguidos imediatamente pelo menos um zero, o número é formatado usando a notação científica com um "E" ou "e" inserido entre o número e o expoente. O número de zeros seguindo o indicador de notação científica determina o número mínimo de dígitos para o expoente de saída. "E +" e "e +" formatos de indicam um sinal de adição ou subtração sempre deve preceder o expoente. O "E", "E-", "e" ou "e-" formatos indicam que um caractere de sinal deve preceder somente ao lado dos expoentes negativos.

O exemplo a seguir formata vários valores numéricos usando os especificadores para notação científica.

Dim value As Double = 86000
Console.WriteLine(value.ToString("0.###E+0", CultureInfo.InvariantCulture))
' Displays 8.6E+4
Console.WriteLine(value.ToString("0.###E+000", CultureInfo.InvariantCulture))
' Displays 8.6E+004
Console.WriteLine(value.ToString("0.###E-000", CultureInfo.InvariantCulture))
' Displays 8.6E004
double value = 86000;
Console.WriteLine(value.ToString("0.###E+0", CultureInfo.InvariantCulture));
// Displays 8.6E+4
Console.WriteLine(value.ToString("0.###E+000", CultureInfo.InvariantCulture));
// Displays 8.6E+004
Console.WriteLine(value.ToString("0.###E-000", CultureInfo.InvariantCulture));
// Displays 8.6E004

Volta à tabela

O "\" Caractere de escape

The "#", "0", ".", ",", "%", and "‰" símbolos em uma seqüência de formato são interpretados como especificadores de formato, em vez de fazê-lo como caracteres literais. Dependendo de sua posição em uma seqüência de caracteres de formato personalizado, maiúscula e minúscula "E" Assim como a + e - símbolos também podem ser interpretados como especificadores de formato.

Para impedir que um caractere seja interpretado como um especificador de formato, você pode preceda com uma barra invertida, o que é o caractere de escape. O caractere de escape significa que o caractere é um caractere literal que deve ser incluído na seqüência de resultado inalterada.

Para incluir uma barra invertida em uma seqüência de resultado, você precisa isolá-lo com outra barra invertida (\\).

Observação

Alguns compiladores, como, por exemplo, os compiladores de C++ e C# também podem interpretar um caractere de barra invertida como um caractere de escape.Para garantir que uma seqüência de caracteres é interpretada corretamente quando a formatação, você pode usar o caractere literal de cadeia de caracteres verbatim (o caractere @) antes da cadeia de caracteres C#, ou adicionar outro caractere de barra invertida antes de cada barra invertida em C# e C++.O exemplo a seguir C# ilustra as duas abordagens.

O exemplo a seguir usa o caractere de escape para impedir que a operação de formatação de interpretar o "#", "0" e "\" caracteres como caracteres de escape ou especificadores de formato. Os exemplos de C# usa uma barra invertida de adicional para garantir que uma barra invertida é interpretada como um caractere literal.

Dim value As Integer = 123
Console.WriteLine(value.ToString("\#\#\# ##0 dollars and \0\0 cents \#\#\#"))
' Displays ### 123 dollars and 00 cents ###
Console.WriteLine(value.ToString("\\\\\\ ##0 dollars and \0\0 cents \\\\\\"))
' Displays \\\ 123 dollars and 00 cents \\\
int value = 123;
Console.WriteLine(value.ToString("\\#\\#\\# ##0 dollars and \\0\\0 cents \\#\\#\\#"));
// Displays ### 123 dollars and 00 cents ###
Console.WriteLine(value.ToString(@"\#\#\# ##0 dollars and \0\0 cents \#\#\#"));
// Displays ### 123 dollars and 00 cents ###

Console.WriteLine(value.ToString("\\\\\\\\\\\\ ##0 dollars and \\0\\0 cents \\\\\\\\\\\\"));
// Displays \\\ 123 dollars and 00 cents \\\
Console.WriteLine(value.ToString(@"\\\\\\ ##0 dollars and \0\0 cents \\\\\\"));
// Displays \\\ 123 dollars and 00 cents \\\

Volta à tabela

O ";" Separador de seção

-E-vírgula (;) é um especificador de formato condicional se aplica a formatação diferente para um número de acordo com seu valor positivo, negativo ou zero. Para produzir esse comportamento, uma sequência de caracteres de formato personalizado pode conter até três seções separadas por ponto-e-vírgula. Essas operações são descritas na tabela a seguir.

Número de seções

Descrição

Uma seção

A sequência de caracteres de formato se aplica a todos os valores.

Duas seções

A primeira seção aplica-se a valores positivos e zeros, e a segunda seção se aplica a valores negativos.

Se o número a ser formatada for negativo, mas se torna zero depois de arredondamento de acordo com o formato na segunda seção, o zero resultante é formatado de acordo com a primeira seção.

Três seções

A primeira seção aplica-se a valores positivos, a segunda seção se aplica a valores negativos, e a terceira seção se aplica a zeros.

A segunda seção pode ser deixada vazia (por não ter nada entre os ponto-e-vírgulas), caso em que a primeira seção se aplica a todos os valores diferente de zero.

Se o número a ser formatada é diferente de zero, mas se torna zero depois de arredondamento de acordo com o formato na primeira ou segunda seção, o zero resultante é formatado de acordo com a terceira seção.

Separadores de Seção ignoram qualquer formatação preexistente associada com um número quando o valor final é formatado. Por exemplo, valores negativos sempre são exibidos sem um sinal de subtração quando os separadores de seção são usados. Se você quiser o valor final formatado para ter um sinal de subtração, você deve incluir explicitamente o sinal de menos como parte de especificador de formato personalizado.

O exemplo a seguir usa a ";" Formate especificador de formato positivos, negativos e números de zero de uma forma diferente.

Dim posValue As Double = 1234
Dim negValue As Double = -1234
Dim zeroValue As Double = 0

Dim fmt2 As String = "##;(##)"
Dim fmt3 As String = "##;(##);**Zero**"

Console.WriteLine(posValue.ToString(fmt2))    ' Displays 1234
Console.WriteLine(negValue.ToString(fmt2))    ' Displays (1234)

Console.WriteLine(zeroValue.ToString(fmt3))   ' Displays **Zero**
double posValue = 1234;
double negValue = -1234;
double zeroValue = 0;

string fmt2 = "##;(##)";
string fmt3 = "##;(##);**Zero**";

Console.WriteLine(posValue.ToString(fmt2));    // Displays 1234
Console.WriteLine(negValue.ToString(fmt2));    // Displays (1234)

Console.WriteLine(zeroValue.ToString(fmt3));   // Displays **Zero**

Volta à tabela

Anotações

Pontos Flutuantes Infinitos e NaN (Não Números)

Independentemente da seqüência de caracteres de formato, se o valor de um Single ou Double tipo de ponto flutuante é infinito positivo, infinito negativo ou não um número (NaN), a seqüência de caracteres formatada é o valor do respectivo PositiveInfinitySymbol, NegativeInfinitySymbol, ou NaNSymbol propriedade especificada por aplicável no momento NumberFormatInfo objeto.

Configurações do Painel de controle

As configurações no item Opções regionais e de idioma no Painel de Controle influenciam a sequência de resultado produzida por uma operação de formatação. Essas configurações são usadas para inicializar o objeto NumberFormatInfo associado a cultura de segmento atual, que fornece valores usados para controlar a formatação. Computadores que usam diferentes configurações geram cadeias de caracteres de resultado diferente.

Além disso, se você usar o CultureInfo.CultureInfo(String) construtor para instanciar uma nova CultureInfo objeto que representa a cultura mesma como a cultura atual do sistema, todas as personalizações estabelecidas pelo regionais e idioma item no painel de controle será aplicada à nova CultureInfo objeto. Você pode usar o CultureInfo.CultureInfo(String, Boolean) construtor para criar um CultureInfo objeto que não reflete as personalizações de. um sistema

Arredondamento e Sequências de Caracteres de Formato Ponto-Fixo

Para seqüências de formato de ponto fixo (ou seja, a seqüências de formato que não contêm caracteres de formato de notação científica), os números são arredondados para tantas casas decimais como espaços reservados para dígito à direita do ponto decimal. Se a sequência de caracteres de formato não contiver um ponto decimal, o número será arredondado para o inteiro mais próximo. Se o número tiver mais dígitos do que houver espaços reservados de dígitos à esquerda do ponto decimal, os dígitos extras são copiados para a sequência de resultado imediatamente antes do primeiro espaço reservado para dígito.

Volta à tabela

Exemplo

O exemplo a seguir demonstra duas seqüências de caracteres de formato numérico personalizado. Em ambos os casos, o espaço reservado para dígito (#) exibe os dados numéricos e outros caracteres são copiados para a seqüência de resultado.

Dim number1 As Double = 1234567890
Dim value1 As String = number1.ToString("(###) ###-####")
Console.WriteLine(value1)

Dim number2 As Integer = 42
Dim value2 As String = number2.ToString("My Number = #")
Console.WriteLine(value2)
' The example displays the following output:
'       (123) 456-7890
'       My Number = 42
double number1 = 1234567890;
string value1 = number1.ToString("(###) ###-####");
Console.WriteLine(value1);

int number2 = 42;
string value2 = number2.ToString("My Number = #");
Console.WriteLine(value2);
// The example displays the following output:
//       (123) 456-7890
//       My Number = 42

Volta à tabela

Consulte também

Tarefas

Como: Acrescentar um número com zeros

Referência

NumberFormatInfo

Conceitos

Tipos de Formatação

Sequências de Caracteres de Formato Numérico Padrão

Histórico de alterações

Date

History

Motivo

Março de 2011

Adicionado um link para o utilitário de formato.

Aprimoramento de informações.