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.322 ]
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); } }
Cronômetro e/ou agendador de tarefas em Java
Nenhum comentário foi encontrado.
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Instalação Uefi com o instalador clássico do Mageia (0)
É cada coisa que me aparece! - não é só 3% (2)
SysAdmin ou DevOps: Qual curso inicial pra essa área? (1)
Alguma pessoa pode me ajudar com drriver Core i3 7020u (Debian 12)? (2)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta