Sexta, 22 de Novembro de 2024
Busca no site:
Ok
Home
Links
Soluções
Utilitários
Publicações
Curiosidades
Produtos
Diversões
Apps Android
Contato
Mapa do Site
Sobre Nós
©2024 CJDinfo®
Detalhe Solução
Java: Cálculo Dígito Módulo 11 (CPF, CNPJ, RG, PIS, etc)
:
/** * Retorna o(s) numDig Dígitos de Controle Módulo 11 do * dado, limitando o Valor de Multiplicação em limMult, * multiplicando a soma por 10, se indicado: * * Números Comuns: numDig: limMult: x10: * CPF 2 12 true * CNPJ 2 9 true * PIS,C/C,Age 1 9 true * RG SSP-SP 1 9 false * * @version V6.0 - Mai/2001~Ago/2024 * @author CJDinfo * @param String dado String dado contendo o número (0~9,A~Z) (sem o DV) * @param int numDig Número de dígitos a calcular * @param int limMult Limite de multiplicação * @param boolean x10 Se true multiplica soma por 10 * @return String Dígitos calculados */ public static String calculaDigitoMod11(String dado, int numDig, int limMult, boolean x10) { int mult, soma, i, n, dig; if(!x10) numDig = 1; for(n=1; n<=numDig; n++){ soma = 0; mult = 2; for(i=dado.length() - 1; i >= 0; i--){ soma += (mult * ((int)dado.charAt(i) - 48)); if(++mult > limMult) mult = 2; } if(x10){ dig = ((soma * 10) % 11) % 10; } else { dig = soma % 11; } if(dig == 10){ dado += "X"; } else { dado += String.valueOf(dig); } } return dado.substring(dado.length() - numDig, dado.length()); }
¤ Links Relacionados:
- Veja todas as soluções do site
Gostou? Compartilhe ou comente:
Nome:
Email:
Comentário:
Retornar