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

问题描述 投票:0回答:1

我有一个正在使用的ASP.NET MVC应用程序,需要计算时间。我已经使用TimeSpan进行了总花费时间的计算,但是我需要转换为int,而不是7个半小时的7:30:00,我需要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的尝试失败,因为它无法转换。我知道我忽略了一些简单的事情,但被卡住了。

c# asp.net-mvc-5 timespan
1个回答
1
投票

首先7.5不是int。其次,您已经使用了减法和减法运算符,它们是等效的。

    var total = (MonTimeOut.Value - MonTimeIn.Value) - (MonLunchEnd.Value - MonLunchStart.Value);
    double hours = total.TotalHours;
© www.soinside.com 2019 - 2024. All rights reserved.