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 do Nosso Número (Módulo 11) - Boleto Caixa EconômicaQuantidade de visualizações: 1954 vezes |
|
Nesta dica mostrarei, passo-a-passo, como calcular o Dígito Verificador do Nosso Número para o boleto e arquivos de remessa da Caixa Econômica Federal (Banco 104). O Nosso Número é o número de identificação do título no Banco. Este número deve ser único nos seus sistemas, pois, sua combinação com o código do cedente o torno único também no sistema bancário. Além disso, é o Nosso Número que permite ao Banco e a empresa identificar os dados da cobrança que deram origem ao bloqueto. Na Especificação do Código de Barras para Bloquetos de Cobrança Sem Registro e Registrada no SIGCB (67.119 v005 micro), o Nosso Número é composto de 17 posições, sendo as 02 posições iniciais para identificar a Carteira e as 15 posições restantes são para livre utilização pelo Cedente. Seu formato é XYNNNNNNNNNNNNNNN-D, onde: a) X = Modalidade/Carteira de Cobrança (1-Registrada/2-Sem Registro); b) Y = Emissão do bloqueto (4-Cedente); c) NNNNNNNNNNNNNNN = Nosso Número (15 posições livres do Cedente); d) D = Dígito Verificador do Nosso Número calculado através do Modulo 11, conforme código que mostrarei a seguir. Nos boletos e arquivos de remessa da Caixa, o Dígito Verificador do Nosso Número admite 0 (zero), diferentemente do DV Geral do Código de Barras (que também mostro como calcular em dicas dessa seção). O cálculo que mostrarei a seguir é baseado no Módulo 11 e está de acordo com as instruções do Manual de Leiaute de Arquivo Eletrônico Padrão CNAB 240 - Cobrança Bancária Caixa - SIGCB - Versão 67.118 v024 micro e Especificação do Código de Barras para Bloquetos de Cobrança Sem Registro e Registrada no SIGCB (67.119 v005 micro). Tenha certeza de verificar sua versão do manual antes de usar o código apresentado. Dito isso, veja o código Java completo para uma função que recebe o Nosso Número e retorna seu dígito verificador: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
package arquivodecodigos;
public class Estudos{
public static void main(String[] args){
// vamos calcular o Dígito Verificador do
// Nosso Número
String carteira = "1"; //
String emissao = "4"; // cedente
String nossoNumero = "28288";
// preenche com zeros até completar 15 posições
nossoNumero = String.format("%1$15s", nossoNumero).replace(' ', '0');
String nossoNumeroCompleto = carteira + emissao +
nossoNumero;
int digito = dvNossoNumero(nossoNumeroCompleto);
System.out.println("O dígito verificador para o nosso número " +
nossoNumeroCompleto + " é: " + digito);
}
// função que recebe o nosso número
// e retorna o seu dígito verificador
public static int dvNossoNumero(String nossoNumero){
// o nosso número possui mais que 17 dígitos?
if(nossoNumero.length() > 17){
System.out.println("O Nosso Número não pode ter " +
" mais que 17 dígitos.");
System.exit(1);
}
// agora vamos definir os índices de multiplicação
String indices = "29876543298765432";
// 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 < nossoNumero.length(); i++){
soma = soma + Integer.parseInt(String.valueOf(nossoNumero.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 o nosso número 14000000000028288 é: 5 |
|
|
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
|
JavaScript - Como retornar o dia da semana em JavaScript no formato Domingo, Segunda-feira, Terça-feira, etc Java - Como remover itens repetidos de uma ArrayList usando um objeto da classe LinkedHashSet do Java |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






