Como realizar cálculo com horas e minutos baseado em um número decimal?

  • silvio.cezar
    Perguntado em 2 de abril de 2024 às 17:05

    Olá boa tarde

    Estou com um problema precisando de ajuda em uma calculo que não consigo resolver.

    Fiz um formulário que registra horas de voo do meu serviço e não estou conseguindo calcular as horas de voos de uma localidade a outra. No meu formulário os voos partem sempre da cidade Manaus e quando eu colocar a aeronave ele ja me mostra em um campo oculto a velocidade desta aeronave, quando eu colocar a localidade ele ira me mostrar em outro campo os km a serem percorridos e deveria me mostrar as horas de voo ate este local.

    O problema que não consegui solucionar é que em alguns km e tipo de aeronave o calculo não sai preciso

    EX:

    Como realizar cálculo com horas e minutos baseado em um número decimal? Image 1 Screenshot 30

    NO exemplo acima ele esta me mostrando 3h e 81 min ao invés de mostrar 3h e 48 min

    estou usando esta condição mas em alguns casos não esta fincionando

    Como realizar cálculo com horas e minutos baseado em um número decimal? Image 2 Screenshot 41

    E ainda gostaria que as horas aparecessem no formato de horas (3:48)

    Segue a baixo o link do formulário

    Agradeço a atenção


    Silvio Cezar


  • Ana Jotform Support
    Respondido em 3 de abril de 2024 às 08:30

    Olá Silvio,

    Obrigada por contatar o Suporte da Jotform. Depois de alguns testes, acredito que encontrei a solução pra ti. Acontece que o valor do teu cálculo se encontra em valores decimais, não em unidade de tempo. A resolução pode parecer um pouco complicada inicialmente, mas vou te guiar pelo processo. Primeiro, você vai precisar adicionar um widget Cálculos em Formulários, dois widgets Substring e um campo de Número para receber teu cálculo de Minutos. Além disso, substitua teu campo Horas Voadas por um campo do tipo Texto Curto. O campo de Número não permite a adição dos dois pontos ( : ) para a montagem da resposta final. Vamos seguir por partes:

    • Primeiro, iremos configurar o widget Cálculos em Formulários com a mesma fórmula que você já havia determinado condicionalmente (KM Voados/Velocidade). Isso vai te dar um valor em Horas.

    Como realizar cálculo com horas e minutos baseado em um número decimal? Image 1 Screenshot 70

    • Agora, iremos configurar os dois widgets Substring. Um deles deverá receber a informação de Horas (número inteiro do teu cálculo) e o segundo o valor de Minutos (parte decimal do teu cálculo). Para isso, configure-os da seguinte forma:

    Horas:

    Como realizar cálculo com horas e minutos baseado em um número decimal? Image 2 Screenshot 81

    Minutos:

    Como realizar cálculo com horas e minutos baseado em um número decimal? Image 3 Screenshot 92

    Onde o ID do Campo Fonte representa o identificador do teu campo de Cálculo.

    • Feito isso, vamos calcular teu valor em minutos. Para isso, é preciso dividir o valor coletado pelo Substring por 100 (para torná-lo decimal) e multiplicar esse valor por 60 (para transformar essa informação em minutos. Crie a seguinte condição do tipo Atualizar/Calcular Campo:

    Como realizar cálculo com horas e minutos baseado em um número decimal? Image 4 Screenshot 103

    Onde o widget Substring utilizado é aquele contendo a informação decimal de minutos.

    • De posse da informação de minutos, vamos montar teu horário no campo Horas Voadas. Lembre-se de usar o campo de Texto Curto nesse caso. Crie as seguintes condições do tipo Atualizar/Calcular Campo:


    Como realizar cálculo com horas e minutos baseado em um número decimal? Image 5 Screenshot 114

    Como realizar cálculo com horas e minutos baseado em um número decimal? Image 6 Screenshot 125

    Onde o widget Substring utilizado é aquele contendo a informação inteira que representa as horas. Também separei as condições para incluir o "0" no caso da informação de minutos ser menor que 10, para melhor formatar teus horários. Lembre-se de clicar sobre os campos na calculadora para que a informação possa ser lida como String (coloração cinza). Salve as alterações e oculte os campos usados para chegar no teu resultado conforme desejar.

    Pronto, é isso! Como a solução pode parecer um pouco complicada, vou te deixar meu clone do teu formulário onde apliquei todas as configurações mencionadas acima. Você pode também clonar meu formulário para tua conta para observar melhor seu funcionamento e realizar novas edições nele.

    Estamos à disposição caso continue precisando de ajuda.

  • silvio.cezar
    Respondido em 3 de abril de 2024 às 18:03

    Funcionou perfeitamente

    Agradeço pela ajuda e é sempre bom contar com vcs

 
Sua Resposta