Formatando String
O .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("Hoje é:{0:d}, e 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