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.586 Categoria: Java Subcategoria: Metodologias
  • Download
  • Nova versão
  • Indicar
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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);
           }
        }
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Gerador de números aleatórios em Java

Mensagem usando opção gráfica JOptionPane

Bloco de Anotações

Jogo do Azar

Troca de A por B

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.