如何计算有小数分量的小时数

我正在试图制作一个电子表格来计算一周的工作时间。 我遇到的问题是DateDiff函数只返回整数,所以我得到不正确的结果。

Function CalculateHoursDay(strStart As String, strEnd As String, intLunch As Integer) As Double Dim dblHours As Double dblHours = DateDiff("h", strStart, DateAdd("h", 12, strEnd)) - intLunch CalculateHoursDay = dblHours End Function 

如果我用“7:00”,“2:45”,.5来调用函数,那么当我需要7.25时,我会返回7。 事实上,我也得到7“7:00”,“2:45”,所以你可以看到十进制值被截断。 我增加了12个小时,所以时间可以很容易地进入,而不用考虑上午,下午或者军事时间,因为超过99%(如果不是100%)时间是上午的时间,下午的时间是上午的时间。

我期望从所述参数的函数中获得7.25。 有什么build议么?

Alex提供了正确的答案,tbur还指出了一旦我应用Alex的解决scheme就会出现一个错误。

 Function CalculateHoursDay(strStart As String, strEnd As String, dblLunch As Double) As Double Dim dblHours As Double '"n" refers to minutes. dblHours = (DateDiff("n", strStart, DateAdd("h", 12, strEnd)) / 60) - dblLunch CalculateHoursDay = dblHours End Function