Brasília 24 defevereiro de 2010
Olá pessoal, gostaria de deixar registrado comintuito de ajudar ao desenvolvedor, analista e outros que precisam desse tipode solução. A solução propostaserá de formatar qualquer tipo de dado rapidamente.
Requisitos:
Ferramenta dedesenvolvimento Visual Studio .NET
Framework .NET3.5
Linguagem C#.NET
Continuando... 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. (Code 1.1)
|
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;
} |
Code 1.1
O primeiro passo analisando o método coloqueicomo protected porque é interno do meu sistema. Retorna “string” e recebe doisparâ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: (Code 1.2)
|
//Formatando CPF
Response.write(FormataString(“###.###.###-##”, “09289209309”));
//Formatando Data
Response.write(FormataString(“##/##/####”, “12092010”));
//Formata CEP
Response.write(FormataString(“##.###-###”, “70000000”));
//Formata valor
Response.write(FormataString(“##,##”, “2309”)); |
Code 1.2
O resultado é muito bom e me ajuda muito aformatar os dados para mostrar em tela. Funciona com os grids e tudo mais semnenhum problema. Espero terajudado e qualquer dúvida, pode entrar em contato pelo site.
Mauricio Junior
www.mauriciojunior.org
blog.mauriciojunior.org