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 Junior



         Olá 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

www.mauriciojunior.org

blog.mauriciojunior.org

Mauricio Junior

Mauricio Junior - Formado pela Faculdade Anhanguera, Especialista pela FGV (Fundação Getúlio Vargas), Pós-Graduação em Docência Superior e cursando Mestrado na UNB Engenharia Elétrica; . Tenho 29 anos e possuo sete livros publicados pela editora Ciência Moderna e sou editor do Linha de Código.
Sou Certificado Microsoft MCP, MCAD e MVP, faço parte da comunidade ASPNETI.COM, onde publico artigos, vídeos, ebooks e livros Publico artigos, vídeos e podcast em outras comunidades. Trabalho como Analista de Sistemas / Desenvolvedor na empresa ATP S/A.
Blog:
blog.mauriciojunior.org
Site pessoal: www.mauriciojunior.org