我正在使用asp.net c#开发一个Web应用程序。 在那我需要得到时间的百分比。 我没有得到正确的方法来实现这一目标。我有来自db的TotalHours。我需要计算TotalHours的80%。
帮助将不胜感激。 感谢...
//This is how I am getting the TotalTime
TimeSpan TotalTime = TimeSpan.Parse(totalhours);
if(TotalTime != null)
{
TimeSpan Percentage= ( TotalTime* 80 ) / 100;
// here I need to get correct percentage in hrs
// If TotalTime is 10 hrs then Percentage should be 8 hrs
}
答案 0 :(得分:3)
TimeSpan TotalTime = TimeSpan.Parse("10:00:00");
if (TotalTime != null)
{
var ticks = ((TotalTime.Ticks * 80) / 100);
TimeSpan Percentage = new TimeSpan(ticks);
Console.WriteLine(Percentage); // 8 hours
}
答案 1 :(得分:1)
TimeSpan totalTime = new TimeSpan(10, 0, 0);
TimeSpan percentage = TimeSpan.FromMilliseconds((totalTime.TotalMilliseconds * 80) / 100);
从你的totalTime获得总毫秒,进行数学运算并将其从毫秒转换回TimeSpan
。
如果您对小时数感到满意,只需更改:
TimeSpan percentage = TimeSpan.FromHours((totalTime.TotalHours * 80) / 100);
答案 2 :(得分:0)
TimeSpan
的{p> TotalHours
property会将总小时数作为double
返回。这就是为什么你可以加密TimeSpan
的%80;
double Percentage = (TotalTime.TotalHours * 4) / 5;