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.451 ]
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); } }
Nenhum coment�rio foi encontrado.
Comparação entre os escalonadores BFQ e MQ-Deadline (acesso a disco) no Arch e Debian
Conciliando o uso da ZRAM e SWAP em disco na sua máquina
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Converter os repositórios Debian para o novo formato com as chaves
Instalando Spotify no Debian 13
Realizar overclock no Miyoo Mini (plus ou normal)
Dúvidas sobre a originalidade de conteúdos online (12)
Direcionar uma URL para Outra No Mikrotik (1)
Monitoramento pfsense com zabbix (4)
Erro na inicialização do Debian como resolver (5)
linux mint reconhece microfone de lapela como fone de ouvido sem micro... (4)