Pular para o conteúdo

Calcula dígito verificador do CT-e - Conhecimento de Trânsito

Esse script calcula o dígito verificador da chave de acesso do CT-e.
Muito semelhante ao cálculo de chave do Nf-e.
Cleiton Ap. de Souza cleitonapsouza
Hits: 4.588 Categoria: Java Subcategoria: Metodologias
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

Esse script calcula o dígito verificador da chave de acesso do CT-e.
Muito semelhante ao cálculo de chave do Nf-e.
Download CalculaDigitoCte.zip Enviar nova versão

Esconder código-fonte

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);
           }
        }

Torre de Hanoi

Juros compostos

Operações matematicas

Jogo da Velha em Java

Login Java web com MySQL com criptografia MD5

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.