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.518 ]
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);
}
}
Algoritmo para Gerar um Sudoku NxN válido
Conversor de temperatura (com gráficos)
Nenhum comentário foi encontrado.
Como atualizar sua versão estável do Debian
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Script de montagem de chroot automatica
Atualizar Linux Mint 22.2 para 22.3 beta
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux
Por que passar nas disciplinas da faculdade é ruim e ser reprovado é b... (7)
De volta para o futuro - ou melhor, para o presente (parte 2) (0)









