Converte hh:mm para Numeric(5,2) ???

05/12/2003

1

Pessoal,

como faço para gravar na tabela, o tempo 2:30 h
no formato 2,30 num campo definido como Numeric(5,2) ?

agradeço as dicas...


Jack


Responder

Posts

05/12/2003

Afarias

|como faço para gravar na tabela, o tempo 2:30 h
|no formato 2,30 num campo definido como Numeric(5,2) ?

eu diria q vc devia guardar 2:30 como 2,5 (duas horas e meia)

onde a parte fracionária corresponde aos minutos e para saber a quantidade basta multiplicar por 60 ::

0,5 * 60 = 30 min.



T+


Responder

05/12/2003

Wallacest

Use o DECODETIME tio:

VAR Hora, Min,Seg,Mseg : Word;
VAR Minuto : Integer;

DecodeTime(TPontoCH.AsDateTIme,Hora,Min,Seg,MSeg);
Minuto := (Hora*60) + Min;
TPontoCHMinuto.AsInteger:=Minuto;

você quebra a hora, e depois armazena num campo INTEGER na Table


Responder

07/12/2003

Marco Salles

|como faço para gravar na tabela, o tempo 2:30 h
|no formato 2,30 num campo definido como Numeric(5,2) ?

eu diria q vc Queira guardar 2:30 como 2,5 (duas horas e meia)

onde a parte fracionária corresponde aos minutos
Vc Deve Primeiro Transformar Tudo Para Minuto .
2*60+30=150 min. Depois Divide o Resultado Por 60 Como Se Fosse
Dividir Um Número Decimal . E Obtem-se Como Resultado Final o Valor
2,5 (Valor Decimal) . Para a Operação Inversa o Procedimento é :
Pega-se a Parte Fracionária e Multiplique Por 60 . 0,5 * 60 = 30 min.
O Que Dá 2.30....Para Não Deixar Dúvidas Vamos Dificultar Um Pouco
Colocando Os Segundos...O Numero Que Queremos Trasformar é :
2horas30min15seg...Para Estabelecer o Correspondende Decimal Multiplicamos 0 ´2´por3600 o ´30´por60 e Somamos ao ´15´. O Resultado Dá :´9015´ ... Dividimos Este Número Por ´3600´ e o Resultado é 2,50416666Dizima Periódiac . O Processo Inverso , Isto é Transformar o
Número Decimal 2,5041666666 No Formato Horas e o Seguinte :
2 + 0,5*60 + 0,00416666666*3600 , O Que Dá 2,301499999 .
Finalmente Deixo Claro Que Só Estabelece O Vínculo Matamático e Não o
Procedimento Na Ordem Da Programação . Conhecendo a Mátemática a
Programação é Intuitiva e Existe Inumeras Maneiras De Se Alcança-la .
Se De Tudo Não Conseguiste Entre Em Contato Que Aprofundaremos Mais..


Responder