簡體   English   中英

有小數部分時如何計算小時數

[英]How do I calculate hours when there are fractional components

我正在嘗試制作一個電子表格以計算一周的工作時間。 我遇到的問題是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:00”,“ 2:45”,0我也得到7,因此您可以看到十進制值被截斷了。 我增加了12個小時,因此可以輕松輸入時間,而無需考慮AM,PM或軍事時間,因為超過99%(如果不是100%)的時間將是AM(開始時間)和PM(結束時間)。

我期望從具有指定參數的函數中獲得7.25。 有什么建議么?

亞歷克斯提供了正確的答案,tbur還指出了一個錯誤,一旦我應用亞歷克斯的解決方案,它就會浮出水面。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM