LAYERDEV

 Busca Online:
 

Seja bem vindo(a) Visitante, voc no est logado deseja logar
na comunidade ASPNETi.COM e participar de servios e promoes ? clique aqui.

Formatando String de Vários Tipos



Data Publicação: 11/6/2010 12:03:45
Total de visualizações: 1125

comente
Diminuir o tamanho das letras Aumentar o tamanho das letras


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.


Total de visualizações: 1125
voltar   comente  subir


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): VOCÊ PRECISA LOGAR

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

GridView Parte III
Vídeo-Aula: Criando um Sistema para Celular com Banco de Dados
Estatística - Browser de Acesso
Importação e Comunicação entre Sistemas
Terra TV Disponibiliza Vídeos com Silverlight
Microsoft lança seu próprio QRCode
Microsoft® Expression® Web
Vídeos - Lançamento do Windows 7
Vídeo: Série Atlas.NET - Parte I
Pagamento via celular
Orientação a Objetos - Microsoft PetShop 3.0
Ebook: Aprendendo Desenvolver WebServices
Gerando Relatório e Exportando para o Excel Com Visual Studio.Net 2005
Controle de peso mobile
Definindo o botão padrão.
QR Code com ASP.NET
MSDN Media Center - download de vídeos
Trabalhando com Session
Vídeo sobre banco de dados
Sistema ASP 3.0 utilizando 3 camadas – Parte 2
URL Indexável – Reescrever URL de uma forma amigável
Eventos e Webcasts
Vídeo - Criptografia e Descriptografia
O futuro da tecnologia com a Microsoft
Adicionando Valores no ComboBox
Gerando Relatório e Exportando para o Excel
Innovation Days
Sistema de Login em ASP – Parte V
Ajax com C#.NET (parte 1)
Visitas na Comunidade ASPNETi.COM
VSS Versionador - Resumão
Código fonte do livro DESENVOLVENDO WEBSERVICES
Vídeo Aula: Criando e Publicando Site de uma melhor maneira com C#.NET
Dica de Segurança no Arquivo de Configuração - Web / App .config
Criando Números Aleatoriamente
Sobre o Autor
  [sumir] [aparecer]
 
Mauricio Junior Maurício Júnior
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 27 anos e possuo sete livros publicados pela editora Ciência Moderna no ano de 2009. 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.orgSite pessoal  www.mauriciojunior.org

Informaes Online
Usurios Online: 988
Artigos:  750
Vdeos:  61
PodCast's:  45
Frum:  3128
Empregos:  1385
Usurios Cadastrados: 6166
Publicidade
LAYERDEV




Vdeos Publicados
 

Duas dicas de internet - Google RealTime e OpenDNS

Desconfie sempre da internet e emails

Microsoft Office online no Safari funcionando

Inovação Visual Studio .NET 2010 - parte 4

Office Live online

TAB TAB na ferramenta Visual Studio .NET

Apresentação do IMC - Sistema de Controle de Peso Mobile

Inovação Visual Studio .NET 2010 - parte 3

Inovação Visual Studio .NET 2010 - parte 1

Download de vídeos com o Safari

Criando Chart - Novo componente integrado com o Visual Studio.NET 2010

Serviços: SAC e SMS integrado

Café com TI - Info sobre o Visual Studio.NET 2010 - WebConfig

Café com TI - Info sobre o Visual Studio.NET 2010

Café com TI - Vírus se passando por Correios

Café com TI - Novo jeito de mandar e-mail com vírus

Café com TI - Formatando todo tipo de String

Resolvido erro do Banco do Brasil no browser

Erro no site do Banco do Brasil com o Safari

Duas dicas do Snow Leopard

Incompatibilidade no Snow Leopard

E-mail com vírus, veja os detalhes

Café com TI - Continuando a configuração de Themes no site

Café com Ti - Banner Rotativo

Café com TI - Evento Eco Brasília

Café com TI - Themes dentro do ASPNETi.COM

Café com TI - Trabalhando com o iCal no Macbook

Café com TI - Deixando o rodapé do seu site fixo

Café com TI - Windows 7 sendo utilizado sem qualquer incompatibilidade

Café com Ti - ASP.NET - Explicando o componente ModalDialogExtender do Ajax Toolkit

Café com TI - Indexação de URL com ASP.NET

Café com TI - Configurando Mail para sua conta no HotMail
Enquete ASPNETi.COM
 Os podcasts tem sido proveitoso pra você?

Favor logar para votar
 
Publicidade Vertical
NETITC