我正在尝试计算班次结束时间到第二天时的总工作小时数。tHours
不正确。预期结果应为12,但实际结果为11。
sShift = 08:00 PM(开始轮班)
eShift =上午08:00(结束轮班)-〉第二天
Time1 = CDate(sShift.Text)
Time2 = CDate(eShift.Text)
If (Time2 <= Time1) Then
Total_Seconds = (Time2 + 1 - Time1) * 24 * 3600
Else
Total_Seconds = (Time2 - Time1) * 24 * 3600
End If
tMins = Int((Total_Seconds Mod 3600) / 60)
tHours = Int(Total_Seconds / 3600)
Total_Seconds
43200除以3600应得到12。但tHours
显示为11。
1条答案
按热度按时间fslejnso1#
这个问题很可能是由浮点错误引起的。这个article说明了这一点。
在这种情况下,我建议修正您的计算,使用
使用
Option Explicit
也是一种很好的做法。