Calcula dígito verificador do CT-e - Conhecimento de Trânsito
Publicado por Cleiton Ap. de Souza (última atualização em 01/08/2014)
[ Hits: 4.559 ]
Esse script calcula o dígito verificador da chave de acesso do CT-e.
Muito semelhante ao cálculo de chave do Nf-e.
String valor = jTextField1.getText(); //Valor inputado pelo Usuario
String valormult = "4329876543298765432987654329876543298765432"; //Valor a sere multiplicado
String valorresmult = "0000000000000000000000000000000000000000000" ;
double divisao=123.123;
int resto=0,digitoV=0,digitoverificador=0;
double soma=0;
int[] valorJtxt = new int[valor.length()];
int[] valorMulti = new int[valormult.length()];
int[] valorResMult = new int[valorresmult.length()];
if ((valor.length() < 43) ||(valor.length()> 43)) { // Verifica quantidade de
JOptionPane.showConfirmDialog(null,"O campo deve conter");
} else {
//Guardando informações no Array da chave de acesso
for (int i = 0; i < valorJtxt.length; i++) {
valorJtxt[i] = Integer.parseInt(valor.substring(i, i+1));
System.out.println("Valor da chave de acesso "+valorJtxt[i]);
}
//Guardando informações dos numeros que multiplicam
for (int i=0; i< valorMulti.length;i++){
valorMulti[i] = Integer.parseInt(valormult.substring(i, i+1));
System.out.println("Valores para calculo "+valorMulti[i]);
}
//multiplicando os itens
for (int i=0; i<43;i++){
valorResMult[i] = valorMulti[i]*valorJtxt[i];
System.out.println("Valores Multiplicados"+valorResMult[i]);
}
//Somando itens Multiplicados
for (int i=0; i<43;i++){
soma = soma + valorResMult[i];
System.out.println("Valor Somado "+soma);
}
System.out.println("Soma "+soma);
divisao = soma/11;
System.out.println("Divisão "+divisao);
resto = (int)soma % 11;
System.out.println("Valor Do Resto da Divisão "+resto);
digitoV = 11-resto;
System.out.println("Valor 11 - Resto = "+digitoV);
if ((resto == 0) || (resto==1)){
digitoverificador= 0;
jTextField2.setText(Integer.toString(digitoverificador));
System.out.println("Valor Digito Verificador = "+digitoverificador);
}else {
digitoverificador=digitoV;
jTextField2.setText(Integer.toString(digitoverificador));
System.out.println("Valor Digito Verificador = "+digitoverificador);
}
}
J2ME - Simples teste de unicode
Como fazer um automato em Java
Nenhum comentário foi encontrado.
Boas Práticas e Padrões Idiomáticos em Go e C
Vale a pena ter mais de uma interface grafica no seu Linux?
Estrutura e Funcionamento de um Ebuild no Gentoo Linux
[Resolvido] Google Chrome reclamando de perfil em uso após mudar hostname
Instalando o Tema de Ícones Tela Circle
Copiar Para e Mover Para no menu de contexto do Nautilus e Dolphin
Dotando o Thunar das opcoes Copiar para e Mover para no menu de contexto
Instalação Dual Boot Linux+Windows 11 (4)
No Ubuntu 26.04, sudo passou a mostrar os asteriscos ao digitar por pa... (5)
Como instalar Warsaw no Gentoo? (0)
Como insiro e excluo um elemento XML e JSON ao código Javascript (1)









