Olá, pessoal,
gostaria de deixar registrado que tenho o intuito de ajudar o desenvolvedor, o analista
e outros que precisam desse tipo de solução. A solução proposta será de formatar qualquer
tipo de dado rapidamente.
Requisitos:
- Ferramenta de
desenvolvimento Visual Studio .NET - Framework .NET
3.5 - Linguagem C#.NET
Bom, no caso de ter um CPF
sem formato, 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
que eu quero usando sharp ou cerquilha (#) e a string sem formato algum, no
final o método retorna a string formatada. Por exemplo: (“##/##/###”, “12092010”), e o valor
retornado é “12/09/2010”.
Depois que comecei a utilizar esse tipo
de formato, nunca mais tive que ficar reformatando data, valores, CPF, CEP e
outros. Não quero estender muito o arquivo falando, pois é simples de usar e
quero ser simples no explicar:
protected string FormataString(string mascara, string valor)<br /> {<br /> string novoValor = string.Empty;<br /> int posicao = 0;<br /><br /> for (int i = 0; mascara.Length > i; i++)<br /> {<br /> if (mascara[i] == '#')<br /> {<br /> if (valor.Length > posicao)<br /> {<br /> novoValor = novoValor + valor[posicao];<br /> posicao++;<br /> }<br /> else<br /> break;<br /> }<br /> else<br /> {<br /> if (valor.Length > posicao)<br /> novoValor = novoValor + mascara[i];<br /> else<br /> break;<br /> }<br /> }<br /><br /> return novoValor;<br /> }No 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 o segundo “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
foi passado. Depois da máscara colocada, retorna o dado formatado.
Lembro que é necessário mandar o valor
sem formato nenhum. Para chamar a função basta fazer o seguinte:
//Formatando CPF<br />Response.write(FormataString("###.###.###-##", "09289209309"));<br /><br />//Formatando Data<br />Response.write(FormataString("##/##/####", "12092010"));<br /><br />//Formata CEP<br />Response.write(FormataString("##.###-###", "70000000"));<br /><br />//Formata valor<br />Response.write(FormataString("##,##", "2309")); O resultado é muito bom e me ajuda
muito a formatar os dados para mostrar em tela. Funciona com
os grids e tudo mais sem nenhum problema.
Espero ter ajudado e, qualquer dúvida, pode entrar em contato!








