Mario De Ghetto

Microsoft MVP – Visual Basic (VB.NET: Programmare che passione!)

#1 Convertire un orario (hh.mm.ss) in un numero di tipo Double

Pubblicato da Mario De Ghetto su 13 Gennaio 2008

(Tip per VB6):

Talvolta occorre convertire un orario espresso nel formato “hh:mm:ss” in un numero di tipo Double, specialmente nel caso in cui tale numero sia da utilizzare in calcoli (es. tariffe orarie calcolate su un periodo frazionato).

Per semplificare la conversione è possibile utilizzare la seguente funzione:

Function Ore2Double(tempo As Date) As Double
	' il parametro di input tempo contiene ad esempio "10:20:30"
	Dim risultato As Double
	risultato = Val(DatePart("h", tempo))
	risultato = risultato + Val(DatePart("n", tempo)) / 60
	risultato = risultato + Val(DatePart("s", tempo)) / 3600
	Ore2Double = risultato
End Function

Tale funzione può essere richiamata in modo molto semplice:

Dim tempo As Date
tempo = "10:20:30"        ' conversione implicita
MsgBox Ore2Double(tempo)  ' restituisce un Double

Lascia una Risposta

XHTML: Puoi usare questi tag: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>