Formatando String rapidamente
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
Sign up to our newsletter
Receive our latest updates about programming languages, software, database, books, ebooks, classes, jobs and more.