10
2010
Formatando Strings rapidamente com C#
Post retirado do site ASPNETi escrito por Mauricio Junior.
Requisitos:
Ferramenta dedesenvolvimento
Visual Studio .NET
Framework .NET3.5Linguagem C#.NET
No caso de ter um CPF semformato, CEP, Telefone, Data e outros, basta usar o método abaixo que tudo seráformatado de uma forma simples e fácil. Na prática, passo apenas o formato queeu quero usando sharp ou cerquilha (#) e a string sem formato algum, no final ométodo retorna a string formatada. Por exemplo: (“##/##/###”, “12092010”) e ovalor retornado é “12/09/2010”.
Depois que comecei a utilizar esse tipo deformato, nunca mais tive que ficar re-formatando data, valores, CPF, CEP eoutros. Não quero estender muito o arquivo falando, pois é simples de usar equero ser simples no explicar.
protected string FormataString(string mascara, string valor)
{
string novoValor = string.Empty;
int posicao = 0;for (int i = 0; mascara.Length > i; i++)
{if (mascara[i] == ‘#’)
{if (valor.Length > posicao)
{
novoValor = novoValor + valor[posicao];
posicao++;
}
else
break;
}
else
{
if (valor.Length > posicao)
novoValor = novoValor + mascara[i];
else
break;
}
}return novoValor;
}
O primeiro passo analisando o método coloquei como protected porque é interno do meu sistema. Retorna “string” e recebe dois parâmetros de entrada. O primeiro parâmetro de entrada é a “mascara” e osegundo “valor” que deseja formatar. No método, primeiro de tudo é dado um“for” para percorrer os dados e colocar a máscara de acordo com que foipassado. Depois da máscara colocada, retorna o dado formatado.
Lembro que é necessário mandar o valor semformato nenhum. Para chamar a função basta fazer o seguinte:
//Formatando CPF
Response.write(FormataString(“###.###.###-##”, “09289209309”));//Formatando Data
Response.write(FormataString(“##/##/####”, “12092010”));//Formata CEP
Response.write(FormataString(“##.###-###”, “70000000”));//Formata valor
Response.write(FormataString(“##,##”, “2309”));
O resultado é muito bom e me ajuda muito aformatar os dados para mostrar em tela. Funciona com os grids e tudo mais sem nenhum problema.

An article by











