Desenvolvimento - C#
Formatando Strings
Neste artigo veremos a formatação de dados com a Classe String.Format().
por Marcelo BicalhoO .net FCL possui a classe String que prove métodos de manipulação de string. Para a formatação de strings iremos utilizar o método Format.
Para o método Format deverá ser passado uma string com o(s) formato(s), e o(s) objeto(s) a serem formatados.
Algumas Assinaturas: String.Format("Formato",Ojbeto);
String.Format("Formato1, Formato2, ...", Objeto1, Objeto2, ...);
String.Format("Formato", Array Object); Todas as assinaturas do método retornam uma string formatada.
Vejamos a Construção do formato: * Para cada objeto informado na assinatura do método deverá ser informado um formato.
* Para cada formato temos como marca de inicio e fim respectivamente os caracteres {}
* Para o formato temos a divisão: "{Índice, Alinhamento: Caracteres de formato}".
Construção do Formato:
O formato é composto de {index,alignment:formatString}
Index = Corresponde respectivamente a posição do objeto informado.
Alingment = Corresponde ao alinhamento do valor do objeto em relação ao tamanho. Para valores negativos alinhamento à esquerda. Para valores positivos alinhamento à direita.
FormatString = Corresponde ao caracter de formato.
Exemplo de construção: textBox1.Text = String.Format("{0,-20:dd}", DateTime.Now). Onde o resultado será uma string com 20 caracteres e a data do sistema alinhada a esquerda.
Exemplo:
String.Format("A data de hoje é:{0:d}, e apenas o dia de amanhã é:{1:dd}", DateTime.Now, DateTime.Now.AddDays(1));
Para a string demostrada temos 2 formatos ({0:d} e {1:dd}), que correspondem respectivamente para dois objetos (DateTime.Now e DateTime.Now.AddDays(1))
Considerando a data do sistema o resultado foi:
"A data de hoje é: 08/02/2008, e apenas o dia de amanhã é:09"
Caracteres de formato:
Para o método Format deverá ser passado uma string com o(s) formato(s), e o(s) objeto(s) a serem formatados.
Algumas Assinaturas: String.Format("Formato",Ojbeto);
String.Format("Formato1, Formato2, ...", Objeto1, Objeto2, ...);
String.Format("Formato", Array Object); Todas as assinaturas do método retornam uma string formatada.
Vejamos a Construção do formato: * Para cada objeto informado na assinatura do método deverá ser informado um formato.
* Para cada formato temos como marca de inicio e fim respectivamente os caracteres {}
* Para o formato temos a divisão: "{Índice, Alinhamento: Caracteres de formato}".
Construção do Formato:
O formato é composto de {index,alignment:formatString}
Index = Corresponde respectivamente a posição do objeto informado.
Alingment = Corresponde ao alinhamento do valor do objeto em relação ao tamanho. Para valores negativos alinhamento à esquerda. Para valores positivos alinhamento à direita.
FormatString = Corresponde ao caracter de formato.
Exemplo de construção: textBox1.Text = String.Format("{0,-20:dd}", DateTime.Now). Onde o resultado será uma string com 20 caracteres e a data do sistema alinhada a esquerda.
Exemplo:
String.Format("A data de hoje é:{0:d}, e apenas o dia de amanhã é:{1:dd}", DateTime.Now, DateTime.Now.AddDays(1));
Para a string demostrada temos 2 formatos ({0:d} e {1:dd}), que correspondem respectivamente para dois objetos (DateTime.Now e DateTime.Now.AddDays(1))
Considerando a data do sistema o resultado foi:
"A data de hoje é: 08/02/2008, e apenas o dia de amanhã é:09"
Caracteres de formato:
"Standard Numeric Format Specifiers "(C) Currency: . . . . . . . . ($123.00) "(D) Decimal:. . . . . . . . . -123 "(E) Scientific: . . . . . . . -1.234500E+002 "(F) Fixed point:. . . . . . . -123.45 "(G) General:. . . . . . . . . -123 " (default):. . . . . . . . -123 (default = "G") "(N) Number: . . . . . . . . . -123.00 "(P) Percent:. . . . . . . . . -12,345.00 % "(R) Round-trip: . . . . . . . -123.45 "(X) Hexadecimal:. . . . . . . FFFFFF85 "Standard DateTime Format Specifiers "(d) Short date: . . . . . . . 6/26/2004 "(D) Long date:. . . . . . . . Saturday, June 26, 2004 "(t) Short time: . . . . . . . 8:11 PM "(T) Long time:. . . . . . . . 8:11:04 PM "(f) Full date/short time: . . Saturday, June 26, 2004 8:11 PM "(F) Full date/long time:. . . Saturday, June 26, 2004 8:11:04 PM "(g) General date/short time:. 6/26/2004 8:11 PM "(G) General date/long time: . 6/26/2004 8:11:04 PM " (default):. . . . . . . . 6/26/2004 8:11:04 PM (default = "G") "(M) Month:. . . . . . . . . . June 26 "(R) RFC1123:. . . . . . . . . Sat, 26 Jun 2004 20:11:04 GMT "(s) Sortable: . . . . . . . . 2004-06-26T20:11:04 "(u) Universal sortable: . . . 2004-06-26 20:11:04Z (invariant) "(U) Universal sortable: . . . Sunday, June 27, 2004 3:11:04 AM "(Y) Year: . . . . . . . . . . June, 2004 "Standard Enumeration Format Specifiers "(G) General:. . . . . . . . . Green " (default):. . . . . . . . Green (default = "G") "(F) Flags:. . . . . . . . . . Green (flags or integer) "(D) Decimal number: . . . . . 3 "(X) Hexadecimal:. . . . . . . 00000003