Class BoletosBaseCalculos
Importante: Alguns bancos chamam o Dígito Verificador do Código de barras de DAC (dígito de autoconferência), ou de Dígito Verificador Geral. Ambos significam a mesma coisa.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionlong
Responsável por calcular o dígito de autoconferência que é incluído na linha digitável dos boletos.int[]
getDigitosDoCampo
(String campo) Convenção utilizada para quebrar o campo informado em números.int
getDvDaLinhaDigitavel
(String bloco) Método responsável por efetuar o cálculo do dígito verificador de cada bloco da linha digitável.int
getMultiplicadorDoDAC
(int contador)
-
Constructor Details
-
BoletosBaseCalculos
public BoletosBaseCalculos(int banco)
-
-
Method Details
-
getDAC
Responsável por calcular o dígito de autoconferência que é incluído na linha digitável dos boletos. A sequência dos valores atribuídos no código de barras, que é recebido como parâmetro, pode variar de acordo com as especificações de cada banco.
Conforme padrão utilizado pelos bancos, o peso é aplicado de 2 até 9, da direita para a esquerda. O produto da multiplicação de cada valor do código de barras é incrementado em um total, e o mesmo é dividido por 11. Caso o resto dessa divisão for 0, 1 ou 10, o dígito de autoconferência será 1. Caso contrário, será 11 subtraído do resto da somatória.
- Parameters:
campo
- O código concatenado com as informações para o banco- Returns:
- o valor do DAC(Dígito de autoconferência)
-
getDvDaLinhaDigitavel
Método responsável por efetuar o cálculo do dígito verificador de cada bloco da linha digitável. O mesmo cálculo aplicado aqui pode ser utilizado por todos os bancos.Cada bloco recebido pode ter de 9 a 10 posições, sendo o primeiro bloco que compõe a linha digitável sempre de 9 dígitos. Neste caso, o último dígito a ser utilizado no cálculo é zero. Em outros casos, cada campo dentre as dez posições será calculado normalmente com o valor da décima posição.
Tomando como base o bloco 3 9 9 9 1 1 1 1 1, o cálculo é realizado da seguinte maneira:
- Aplica-se os pesos da multiplicação:
- Divide-se este somatório, pelo fator 10:
- Aplica-se a fórmula : Fator 10 menos o Resto = Dígito Verificador 10 - 1 = 9
(3 x 2)
(9 x 1)
(9 x 2)
(9 x 1)
(1 x 2)
(1 x 1)
(1 x 2)
(1 x 1)
(1 x 2)
41/10 = 4
Resto = 1
Obs.: Quando o somatório for menor que 10, adotar a fórmula: (10 - somatório = dígito Verificador).
Quando o resto for igual a “0” o dígito verificador será também igual a “0”.
Então o Dígito Verificador é igual a 9.- Parameters:
bloco
- O bloco desejado para o cálculo- Returns:
- o D.V. calculado conforme regra.
-
getDigitosDoCampo
Convenção utilizada para quebrar o campo informado em números.- Parameters:
campo
- um bloco de números em formato de String- Returns:
- Um vetor com todos os números que estão dentro do campo.
-
getMultiplicadorDoDAC
public int getMultiplicadorDoDAC(int contador)
-