Sábado, 10 de Abril de 2021
Busca no site:
Ok
Home
Links
Soluções
Utilitários
Publicações
Curiosidades
Produtos
Notícias
Diversões
Apls Android
Transporte
Busca na Web
Acompanhe
Contato
Mapa do Site
Sobre Nós
©2021 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 V5.0 - Mai/2001~Out/2015 * @author CJDinfo * @param String dado String dado contendo o número (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 * Integer.parseInt(dado.substring(i, i + 1))); 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