alguem conhece algum codigo para validar o RENAVAM ???
eu nao achei nada na web…!
desde ja agradeco…!
alguem conhece algum codigo para validar o RENAVAM ???
eu nao achei nada na web…!
desde ja agradeco…!
Em VB é assim:
Esquece estava errado.
Espero que ajude:
final public static boolean isValidRENAVAM(String renavam) {
if (renavam == null || renavam.trim().length() != 9)
return false;
int calc = 0;
int digito = Integer.valueOf(renavam.substring(8, 9)).intValue();
for (int i = 0; i < renavam.length() - 1; i++) {
calc += Integer.valueOf(renavam.substring(i, i + 1)).intValue() * (i + 2);
}
return (calc % 11 == digito || calc % 11 == 0);
}
ow eu testei esse ai feito em java, e ele valida qq numero de renavam....
eu tenho um e nao estah dando certo:
public static boolean validaRenavam(String value) {
int j = 0;
int soma = 0;
int[] numeros = new int[5];
int valor;
for (int i = 0; i < 5; i++) {
numeros[i] = Integer.valueOf(value.substring(i, i + 1));
}
for (int i = 5; i >= 2; i--) {
soma = soma + (numeros[j] * i);
j = j + 1;
}
valor = soma % 11;
int digito;
if (valor == 1 || valor == 0 || valor >= 10)
digito = 0;
else
digito = valor;
if (digito == numeros[4])
return true;
else
return false;
}
vcs tem algum ai para me ajudar???
Ok, formulei esse aqui em Java. Teste aí:
public static int calcularDigito(String renavam)
{
int soma = 0;
for (int i = 0; i < 8; i++)
{
soma += Integer.parseInt(renavam.substring(i,i+1))*(i+2);
}
soma = soma % 11;
return soma == 10 ? 0 : soma;
}
se retornar 0 qr diser q ele eh INVALIDO?
e se retornar soma VALIDO?
Felipe !
Nesse link um rapaz explica a regra de como valdiar Renavam. Só que ele esta mostrando exemplo depois em Delphi ou VB.
http://forum.clubedohardware.com.br/digito-verificador/375738?s=8456c6a3cd737319adb3571c3d42d5d7&
Espero que ajude !
Felipe !
Nesse link um rapaz explica a regra de como valdiar Renavam. Só que ele esta mostrando exemplo depois em Delphi ou VB.http://forum.clubedohardware.com.br/digito-verificador/375738?s=8456c6a3cd737319adb3571c3d42d5d7&
Espero que ajude !
Esse código não funciona.
se retornar 0 qr diser q ele eh INVALIDO?
e se retornar soma VALIDO?
Esse código que eu postei retorna o dígito verificador. Ele deve ser igual ao último dígito do renavam.
Se o renavam for:
62.345.678-9
Você deverá fornecer a função a string sem os . e o -. E ela irá retornar o valor 9.
mas como saberei se o renavam eh verdadeiro ou falso?
É muito pouco provável que um renavam falso tenha esse dígito verificador. Agora, para se certificar MESMO, só conectando aos detrans, e nem sei se isso é possível.
vlws cara pela dica!