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.497 ]
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);
}
}
JCriptoCesar, a cifra de Cesar em Java
Cadastro de Clientes com GUI e MySQL
Nenhum comentário foi encontrado.
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Adicionar botão "mostrar área de trabalho" no Zorin OS
Como montar um servidor de backup no linux
Trazendo de volta o Serviços em Segundo Plano no Plasma6
Desenvolvi um programa de hot corner (você colocar o mouse nos cantos)... (1)
Problema com uso do sed [RESOLVIDO] (3)
Atualizei meu ubuntu e desliguei e ele não inicia corretamente (13)









