Função para converter horas em decimal???

Delphi

21/11/2003

existe alguma funão específica para a conversão de horas para decimal.
preciso fazer uma media peças/hora, pensei em fazer uma formula mas talves o delphi tenha alguma função especifica.


Gandalf

Gandalf

Curtidas 0

Respostas

Koplin

Koplin

21/11/2003

Se as variaveis sao do tipo TTime ou TDateTime ou mesmo TDate já são tratadas pelo Delphi como numeros de ponto flutuante.
Basta jogar o resultado de seu calculo (hora1 - hora2 por exemplo) em uma variavel do tipo float

Se eu entendi é isso Agora: se voce quer representar 1 hora e meia como 1,5 ou duas horas e quinze como 2,15 tem que fazer na unha.


GOSTEI 0
Gandalf

Gandalf

21/11/2003

NA UNHA DEU ISSO:

horas_antes := strtotime(MaskEdit4.EditText);
horas_depois := strtotime(MaskEdit5.EditText);
resultado_string := timetostr(horas_depois - horas_antes);
horas := copy (resultado_string,0,2);
minutos := copy (resultado_string,4,2);
decimal_minutos := (strtofloat(minutos))/60;
decimal_minutos_str := floattostr (decimal_minutos);
final := (horas) + (copy (decimal_minutos_str, 2,3));
final_double := strtofloat(final);


GOSTEI 0
Rafael

Rafael

21/11/2003

NA UNHA DEU ISSO:

horas_antes := strtotime(MaskEdit4.EditText);
horas_depois := strtotime(MaskEdit5.EditText);
resultado_string := timetostr(horas_depois - horas_antes);
horas := copy (resultado_string,0,2);
minutos := copy (resultado_string,4,2);
decimal_minutos := (strtofloat(minutos))/60;
decimal_minutos_str := floattostr (decimal_minutos);
final := (horas) + (copy (decimal_minutos_str, 2,3));
final_double := strtofloat(final);




Rapaz, essa informação me ajudou muito!! Saberia me informar como faço para adaptar o código acima caonsiderando os segundos também?

Muito Obrigado!
GOSTEI 0
Rafael

Rafael

21/11/2003

NA UNHA DEU ISSO:

horas_antes := strtotime(MaskEdit4.EditText);
horas_depois := strtotime(MaskEdit5.EditText);
resultado_string := timetostr(horas_depois - horas_antes);
horas := copy (resultado_string,0,2);
minutos := copy (resultado_string,4,2);
decimal_minutos := (strtofloat(minutos))/60;
decimal_minutos_str := floattostr (decimal_minutos);
final := (horas) + (copy (decimal_minutos_str, 2,3));
final_double := strtofloat(final);




Rapaz, essa informação me ajudou muito!! Saberia me informar como faço para adaptar o código acima caonsiderando os segundos também?

Muito Obrigado!


Por Exemplo, queria que o tempo 26:59:44h no final fosse representado somente como hora: 67,5h.


GOSTEI 0
POSTAR