RSS

Validar dígito verificador CNPJ

20 jul

JAVA – Framework TotalCross:

1º – Chamada ao método e conferência:

// Cnpj passado sem os dois últimos dígitos. No método calcDigVerifCnpj() os caracteres especiais são removidos. Ex:12.345.678/0001-
String digitoVerificador = calcDigVerifCnpj(edtCgcCpf.getText().substring(0, edtCgcCpf.getText().length() - 2));

if(!digitoVerificador.equals(edtCgcCpf.getText().substring(16)))
  System.out.println("Dígito verificador do CNPJ inválido");

2º – Método que calcula o dígito verificador do CNPJ:

public String calcDigVerifCnpj(String cnpj) {  
		
   cnpj = formataRemocaoCaracteresEspeciais(cnpj);
		
   int[] arrNum = new int[]{5,4,3,2,9,8,7,6,5,4,3,2};
		
   int soma = 0, divisao = 11, primDig = 0, segDig = 0;  
   for (int i = 0; i < arrNum.length; i++)
      soma += arrNum[i] * Integer.parseInt(cnpj.substring(i, i+1));
        
   primDig = (soma % divisao);
        
   if(primDig < 2)
      primDig = 0;
   else
      primDig = (11 - primDig);
        	
   cnpj += primDig;
        
   arrNum = new int[]{6,5,4,3,2,9,8,7,6,5,4,3,2};
   soma = 0;
   for (int j = 0; j < arrNum.length; j++)
      soma += arrNum[j] * Integer.parseInt(cnpj.substring(j, j+1));
        
   segDig = (soma % divisao);
        
   if(segDig < 2)
      segDig = 0;
   else
      segDig = (11 - segDig);
        
   return ""+primDig + segDig;  
}

3º – Remoção dos caracteres especiais:

public String formataRemocaoCaracteresEspeciais(String valor){

   if (valor.indexOf(",") != -1 || valor.indexOf(".") != -1 || valor.indexOf("-") != -1 || valor.indexOf("/") != -1) {

      StringBuffer valorAux = new StringBuffer();
      for (int i = 0; i < valor.length(); i++)
         if ((valor.charAt(i) != ',') && (valor.charAt(i) != '.') && (valor.charAt(i) != '-') && (valor.charAt(i) != '/'))
            valorAux.append(valor.charAt(i));

      valor = valorAux.toString();
  }      
  return valor;
}

 

Sobre ferrauber

Bacharel em Ciência da Computação. Analista e desenvolvedor de sistemas. Aficionado em java mobile e web, j2ee, php.
Leave a comment

Publicado por em 20 julho 2011 em Métodos - formatações

 

Deixe uma resposta

Faça o login usando um destes métodos para comentar:

WordPress.com Logo

You are commenting using your WordPress.com account. Sair / Alterar )

Imagem do Twitter

You are commenting using your Twitter account. Sair / Alterar )

Foto do Facebook

You are commenting using your Facebook account. Sair / Alterar )

Connecting to %s

 
Seguir

Obtenha todo post novo entregue na sua caixa de entrada.