1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Como converter um Horário "String" para um valor numérico "Double"

Olá pessoal, bom dia. tenho uma tela HTML o qual o usuário digita um horário no formato "HH:mm:ss" e estou precisando converter essa String em Double, alguém poderia me auxiliar nesse processo?

Exemplo: 42:30:22 = 42.506000

Obrigado.

=====[ Editado ]=====

Após a dica e orientação do nosso amigo Alex eu implementei duas rotinas para ajudar a quem precisar...

    public double timeStringToDouble(String time) {
        String[] value   = time.split(":");
        Double   hours   = Double.parseDouble(value.length >= 1 && value.length <= 3 ? value[0] : "0");
        Double   minutes = Double.parseDouble(value.length >= 2 && value.length <= 3 ? value[1] : "0");
        Double   seconds = Double.parseDouble(value.length == 3 ? value[2] : "0");
        return (hours + minutes/60 + seconds/60/60);
    }

    public String doubleToTimeString(double time) {
        long seconds = Math.round(time * 3600);
        long hours   = seconds / 3600;
        long minutes = (seconds - 3600 * hours) / 60;
        seconds = seconds % 60;
        return String.format("%02d", hours)+":"+String.format("%02d", minutes)+(seconds > 0 ? ":"+String.format("%02d", seconds) : "");
    }

    public static void main(String[] args) throws Exception {
        String time = DataUtil.doubleToTimeString(42.50611111111111);
        System.out.println(time);
        System.out.println(DataUtil.timeStringToDouble("42:30:22"));
        System.exit(0);
    }

grato.

  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags string double ou faça a sua própria pergunta.