LAYERDEV

 Busca Online:

 
Seja bem vindo(a) Visitante, você não está logado deseja logar
no portal para participar de serviços e promoções ? clique aqui.


No caso de perder a senha, acesse aqui e receba por e-mail.
Deseja entrar em contato conosco, acesse aqui e mande-nos um e-mail.

Formatando String de Vários Tipos

por Mauricio Junior em 1/1/2011 0

Olá Internautas,

    Gostaria de mostrar hoje uma nova forma de formar string utilizando o C#.NET e alguns tipos definidos para formatação. Um artigo anterior criado, fui questionado sobre a não utilização de expressões regulares.
       
Requisitos:
Linguagem C#.NET
Framework 1.1, 2.0, 3.5 e 4.0
Ferramenta utilizada: Visual Studio .NET 2008

    O artigo citado anteriormente é este: Formatando String rapidamente [http://aspneti.com/formatando+string+rapidamente+784,0.aspx]. Bem, como o título diz é uma formatação rápida e para quem não entende muito de expressão regular.
   
    Não estou desconsiderando a expressão regular, muito pelo contrário; quero mesmo é ajudar sem a utilização de expressão regular resolver o seu problema mais rápido possível.
   
    Como organizei melhor um outro código para formatar String utilizando algumas funções específicas, resolvi publicar para servir de base a todos que precisam. O código abaixo foi feito para formatar Text, Numeric, CNPJ, CPF, Date, Int, CEP, Telephone e Currency.
   
    Coloquei estes tipos pois são os mais usados por mim em meus sistemas. Este método ainda não aborda expressão regular, aborda mais string.Format e Convert, mas acredito que pode ajudar muito a você leitor.
   
    O primeiro passo foi criar Enum com os tipos chamada TypeString. (Code 1.1)
   
    public enum TypeString
    {
        Text,
        Numeric,
        CNPJ,
        CPF,
        Date,
        Int,
        CEP,
        Telephone,
        Currency
    }
    Referência: Code 1.1

    Ainda no mesmo arquivo, criei outro método específico chamado FormatString recebendo dois tipos de valores. O primeiro o valor (string) e o segundo o type (TypeString) que, resumidamente são os tipos criados no Enum. Dentro do método, utilizei o switch para verificar o tipo e formatar. (Code 1.2)
   
    public static string FormatString(string Value, TypeString tType)
    {
        try
        {
            switch (tType)
            {
                case TypeString.CNPJ:
                    return string.Format("{0}.{1}.{2}/{3}-{4}", Value.Substring(0, 2), Value.Substring(2, 3), Value.Substring(5, 3), Value.Substring(8, 4), Value.Substring(12, 2));
                case TypeString.CPF:
                    return string.Format("{0}.{1}.{2}-{3}", Value.Substring(0, 3), Value.Substring(3, 3), Value.Substring(6, 3), Value.Substring(9, 2));
                case TypeString.Date:
                    if (Convert.ToDateTime(Value) == Convert.ToDateTime("1/1/1900"))
                        return string.Empty;
                    else
                        return Convert.ToDateTime(Value).ToString("dd/MM/yyyy");
                case TypeString.Numeric:
                    return Convert.ToDouble(Value).ToString("#,##0.00");
                case TypeString.Int:
                    return Convert.ToInt64(Value).ToString("#,##0");
                case TypeString.Text:
                    return Value;
                case TypeString.CEP:
                    return string.Format("{0}.{1}-{2}",Value.Substring(0,2),Value.Substring(2,3),Value.Substring(5,3));
                case TypeString.Telephone:
                    Value = Value.Replace("-","").Replace(" ","").Replace(".","");
                    return string.Format("{0}-{1}",Value.Substring(0,Value.Length-4),Value.Substring(Value.Length-4,4));
                case TypeString.Currency:
                    return Convert.ToDouble(Value).ToString("C");
                default:
                    return Value;
            }

        }
        catch
        {
            return Value;
        }
    }
    Referência: Code 1.2
   
    Em resumo geral, utilizei muito string.Format com os padrões necessários para uma formatação legal. Em outro momento utilizei Convert e tudo mais. Veja um exemplo abaixo:
   
    string _cpf = FormatString("00000000000",TypeString.CPF);
    Response.Write(_cpf);
   
    Resultado na tela: 000.000.000-00

   
    Bom, espero que tenham gostado qualquer dúvida pode entrar em contato pelo site.
voltar   comente  subir

Download Copy





 
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. Sou Certificado Microsoft MCP, MCAD e MVP, faço parte da comunidade ASPNETI.COM, ECODE10.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



Comentários:

Comentado por: Leandro Ribeiro da Silva - 30/6/2010 0:00:00
Já está na minha caixa de ferramentas.

Boa dica, parabéns!
Comentado por: Mauricio Junior - 2/7/2010 0:00:00
Obrigado Leandro, espero que ajude muito a você.

Comente (dê sua opinião):

Comentário:
Código Imagem:  (digite o código da imagem respeitando maiúsculo e minúsculo)

Favor digitar o código da imagem para cadastramento.

 

Outros Artigos do Autor

Exemplos de Queries Linq
Tecla ESC na tela WEB
Importar projetos antigos para o Visual Studio 2010
Sistema de Login em ASP – Parte V
Windows Mobile Phone
Windows Forms Application – Alterando Arquivo de Configuração Dinamicamente
Usando Split no C#
Vídeo - iGas - Sistema de Gasolina Mobile
MinimizeBox no Celular
Criando RSS
Java J2EE – Segundo Passo
Clique ENTER usando C#.NET
Usando o Flash para Desenvolver Game no Microsoft XNA Developer
O futuro da tecnologia com a Microsoft
Windows 7
Microsoft Preview Windows Phone 7 in NYC
Resources e Internacionalização usando Visual Studio.NET 2005 (Parte I)
Vídeo - Mostrando um sistema com pocket pc
Criando Números Aleatoriamente
Download grátis - Sistema de Controle de Combustível
Adicionar uma coluna em um DataTable
Vídeo - Microsoft Surface: The Power
Visual SourceSafe
WebService - Desenvolvimento Parte 1
Vídeo: Windows Phone com Windows Mobile 7
Vídeo - Sistema de Atendimento de Clientes
Ordenando no DataTable
Comunicação .NET e VB 6.0 – Parte II - usando Visual Studio.NET 2005
SQLEngine Utilizando Upgrade
IsAlphaNumeric
GMaps com ASP.NET
Vídeos SQL Server 2005 Express Gratuitamente
MaskedTextBox da direita para esquerda
ModalDialogExtender
Lendo o livro O Efeito Facebook




eCode10 Magazine 4 Edição

Baixe a sua sem pagar nada, basta apenas ter um cadastro na comunidade aspneti.com ou ser usuário do ecode10.com.



Edições anteriores
LAYERDEV

Notícias *

Lenovo de 14 polegadas IdeaPad

Veja o novo notebook Lenovo IdeaPad...

Windows 8 Store

Channel9 publica um vídeo da Windows Store...

Sony Vaio série Z

Novo Vaio Ultrabook? ou não Ultrabook?...

Samsung quer comprar RIM

Imagine se juntar as duas companhias...

Surface 2.0 mostrado

Novo Surface é mostrado de forma incrível...

Skype Tablet

Será que esse skype tablet pega mesmo?...

Lenovo e o seu novo Ultrabook

Ultrabook chega também pela Lenovo...

Promoções de livros móveis .NET

Baixa agora o seu e aprenda a programar....

A Era dos UltraBooks

Os modelos mais dos Ultrabooks...




NETITC