Você está aqui: Java ::: Boletos Bancários, Arquivos de Remessa e Retornos do Banco ::: Caixa Econômica Federal - Banco 104 |
Boleto Bancário Java - Como calcular o dígito verificador da conta corrente - Módulo 11 - Boleto Caixa Econômica CNAB240Quantidade de visualizações: 2386 vezes |
Nesta dica mostrarei, passo-a-passo, como calcular o dígito verificador da conta corrente para o boleto e arquivos de remessa da Caixa Econômica Federal (Banco 104) de acordo com o Manual de Leiaute de Arquivo Eletrônico Padrão CNAB 240 - Cobrança Bancária Caixa - SIGCB - Versão 67.118 v024 micro. Tenha certeza de verificar sua versão do manual antes de usar o código abaixo. O Dígito Verificador da Conta é um código adotado pelo banco, em nosso caso a Caixa Econômica, para verificação da autenticidade do número da conta corrente, e tal número deverá ser calculado através do módulo 11. Mostro abaixo o código completo para o cálculo do dígito verificador. Note que só precisamos informar o número da conta (sem o dígito) e o código se encarrega de calcular o dígito. Aqui eu informei o número da conta em uma variável, mas você pode modificar o código para que o valor venha de um formulário ou do banco de dados. Eis o código Java: package arquivodecodigos; public class Estudos{ public static void main(String[] args){ // vamos obter o dígito verificador para a conta a seguir String conta = "109990"; int digito = digitoVerificadorConta(conta); System.out.println("O dígito verificador para a conta " + conta + " é " + digito); } // função que recebe o número da conta e devolve // o dígito verificador public static int digitoVerificadorConta(String conta){ // primeiro vamos remover os espaços do número da conta conta = conta.trim(); // agora precisamos adicionar os zeros necessários // para completar 12 posições conta = String.format("%1$12s", conta).replace(' ', '0'); // agora vamos definir os índices de múltiplicação String indices = "543298765432"; // e aqui a soma da multiplicação coluna por coluna int soma = 0; // fazemos a multiplicação coluna por coluna agora for (int i = 0; i < conta.length(); i++){ soma = soma + Integer.parseInt(String.valueOf(conta.charAt(i))) * Integer.parseInt(String.valueOf(indices.charAt(i))); } // obtemos o resto da divisão da soma por onze int resto = soma % 11; // subtraímos onze pelo resto da divisão int digito = 11 - resto; // atenção: Se o resultado da subtração for // maior que 9 (nove), o dígito será 0 (zero) if (digito > 9){ digito = 0; } return digito; } } Ao executar este código Java nós teremos o seguinte resultado: O dígito verificador para a conta 109990 é: 6 É importante observar que o dígito verificador da agência e também do par agência/conta são sempre informados pela Caixa, geralmente pela agência na qual nossos clientes possuem conta. |
![]() |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |