Desenvolvimento - C#
Formatando String rapidamente
Esse artigo propõem uma forma de formatar strings para exibição na tela através de apenas um método.
por Mauricio JuniorOlá pessoal, gostaria de deixar registrado com intuito de ajudar ao desenvolvedor, 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
Continuando... 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 re-formatando data, valores, CPF, CEP e outros. Não quero estender muito o arquivo falando, pois é simples de usar e quero 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 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: (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 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 pelo site.
Mauricio Junior