sexta-feira, 24 de agosto de 2007

Java : Útil : formatação

Hoje tive a necessidade de formatar uma String de CPF e CNJP, sem formatação para a sua respectiva formatação, segue o trecho de código, pode ser útil para alguem:

    /*
     * realiza a formatação do valor de acordo com a mascara enviada
     */
    public static String formatarString valor, String mascara ) {
    
        String dado = "";      
        // remove caracteres nao numericos
        for int i = 0; i < valor.length(); i++ )  {
            char c = valor.charAt(i);
            if Character.isDigit) ) { dado += c; }
        }

        int indMascara = mascara.length();
        int indCampo = dado.length();

        for ; indCampo > && indMascara > 0) {
            if mascara.charAt--indMascara == '#' ) { indCampo--; }
        }

        String saida = "";
        for ; indMascara < mascara.length(); indMascara++ ) {    
            saida += ( ( mascara.charAtindMascara == '#' ? dado.charAtindCampo++ : mascara.charAtindMascara ) );
        }    
        return saida;
    }
    
    public static String formatarCpfString cpf ) {
        whilecpf.length() 11 ) {
            cpf = "0" + cpf;
        }
        return formatarcpf, "###.###.###-##" );
    }
    
    public static String formatarCnpjString cnpj ) {
        whilecnpj.length() 14 ) {
            cnpj = "0" + cnpj;
        }
        return formatarcnpj,"##.###.###/####-##" );
    }