O B?SICO QUE VIRA DIFÍCIL

MESTRE 02/09/2015 20:50:55
#450921
Galera to preso numa coisa [Ô]básica[Ô] que se torna difícil.. kk

Preciso Converter Horas em minutos, porém devo converter números quebrados em horas em minutos portanto não é só multiplicar por 60..

4.5 horas, 4.7 horas, 5.8 horas..

Alguém poderia dar uma luz??

DS2T 02/09/2015 21:26:08
#450923
Resposta escolhida
é só multiplicar por 60, do mesmo jeito hahaha

4.5 horas = 4 horas + 0.5 horas

4 horas = 60*4 minutos = 240 minutos
0.5 horas = 60*0.5 minutos = 30 minutos (meia hora, o que faz sentido o 0.5)

4.5 horas = 4.5*60 min = 240 + 30 = 270 min

Só multiplicar por 60... hahaha
KERPLUNK 02/09/2015 22:25:34
#450925
Use uma variável do tipo DateTime. Adicione horas, minutos, segundos, dias, semanas, anos, o que quiser com ela, sem se preocupar com nada:

Dim data as DateTime = DateTime.Now
data.AddDays(1)
data.AddMinutes(100)
data.AddSeconds(40000)

Não reinvente a roda, use o que já está pronto, testado e funcionando corretamente.
MESTRE 03/09/2015 08:31:20
#450938
Na verdade eu tenho um textbox onde o funcionario informa 3.92 horas e tenho que converter..

Então 3 horas permanece 3 horas, porém 0.92 horas * 60 = 55,2 minutos..

Então ele terá de mostrar 3:55 minutos..
MARCELOKROL 03/09/2015 08:52:40
#450939
Neste caso o 0,92 é igual a 92% de uma hora
da pra fazer assim:
  
dim x as decimal = 3.92
dim y as decimal
dim h as date

y =60 * (x- int(x)) [ô]retorna somente a fracao
h = cdate(int(x) & [Ô]:[Ô] & y)


Estou sem vb agora pra testar. Pode ser que tenha esquecido de algo, mais na teoria é mais ou menos assim.
DS2T 03/09/2015 09:05:25
#450940
Citação:

:
Na verdade eu tenho um textbox onde o funcionario informa 3.92 horas e tenho que converter..

Então 3 horas permanece 3 horas, porém 0.92 horas * 60 = 55,2 minutos..

Então ele terá de mostrar 3:55 minutos..



Exatamento isso daí.
Quer comprovar isso usando os métodos do VB?

Segue o código:

        Dim hora As Decimal = 3.92
Dim span As New TimeSpan(TimeSpan.TicksPerHour * hora)

Dim formatado As String = String.Format([Ô]{0}:{1}:{2}[Ô], span.Hours, span.Minutes, span.Seconds)

MessageBox.Show(formatado)


As vezes fico pensando, como eu sou bom u.u ohhh hahaha

Abraços!
MESTRE 03/09/2015 10:25:37
#450946
obrigado caiu como uma luva!!

Obrigado a todos pelo auxílio!!
Tópico encerrado , respostas não são mais permitidas