如何将 TimeSpan 转换为 int 并以季度分数显示小时数?

How can I convert TimeSpan into int and show hours in quarterly fractions?

我有一个正在处理的 ASP.NET MVC 应用程序,需要计算时间。我已经使用 TimeSpan 来计算总花费时间,但我需要转换为 int 而不是 7:30:00 7 个半小时,我需要 7.5。下面是我正在使用的代码。请指出正确的方向。

public TimeSpan? MonDailyHours
{
        get
        {
            if (MonTimeIn.HasValue && MonTimeOut.HasValue)
            {
                TimeSpan allDay = MonTimeOut.Value.Subtract(MonTimeIn.Value);
                TimeSpan lunch = MonLunchEnd.Value.Subtract(MonLunchStart.Value);

                var Total = (int) allDay - lunch;
            }
            return null;
        }            
}

var Total 尝试失败,因为无法转换。我知道我忽略了一些简单的事情,但我被卡住了。

首先 7.5 不是整数。其次,您同时使用了 Subtract 方法和减法运算符,它们是等效的。

    var total = (MonTimeOut.Value - MonTimeIn.Value) - (MonLunchEnd.Value - MonLunchStart.Value);
    double hours = total.TotalHours;