com.arch.util.br.Modulo11 Maven / Gradle / Ivy
package com.arch.util.br;
/**
* Created by wagner.araujo on 2/10/17.
*/
public class Modulo11 {
public static String calculaDigitoVerificador(String numero, Integer pesoInicial, Integer pesoFinal, Integer quantidadeDigitos) { // função
long soma = 0L;
int multiplicador = pesoInicial;
for (int i = numero.length() - 1; i >= 0; --i) {
long num = (long) Character.getNumericValue(numero.charAt(i));
num *= multiplicador;
multiplicador = (multiplicador < pesoFinal) ? multiplicador + 1 : pesoInicial;
soma += num;
}
long digito = (11 - (((soma % 11) == 1) ? 0 : (soma % 11))) % 11;
String dac = String.valueOf(digito);
if (quantidadeDigitos > 1) {
return dac.concat(calculaDigitoVerificador(numero.concat(dac), pesoInicial, pesoFinal, quantidadeDigitos - 1));
} else {
return dac;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy