在c#中将min,sec转换为0.xxx表示法

时间:2013-06-14 10:11:05

标签: c#

我是c#的新手。对于学校,我必须进行一项将小时,分钟和秒数转换为数值的练习。所以37分钟和30秒变成0.625。有谁知道怎么做?

非常感谢

4 个答案:

答案 0 :(得分:3)

var duration = new TimeSpan(0, 37, 30);
string s = duration.TotalHours.ToString("0.###");
// s === "0.625"

答案 1 :(得分:2)

假设您希望将小时,分钟和秒转换为小时,您可以这样做:

double result = hours + minutes/60.0 + seconds/(60.0 * 60.0);

这是因为分钟是1/60小时,秒是1/3600小时(3600 = = 60 * 60)所以计算使用简单的缩放。

如果老师正在考虑您是否了解转换逻辑,我认为您需要显示这些类型的计算,而不是使用TimeSpan。

答案 2 :(得分:1)

不提供复制/粘贴就绪解决方案(作业:-p),但TimeSpan类包含您需要的所有内容:Parse方法和构造函数,用于构建TimeSpan各种时间(小时,分钟......)和属性以分钟,小时......返回结果。

答案 3 :(得分:0)

您首先要将小时,分钟和秒转换为总秒数。然后,您可以将其与一小时内的秒数进行比较。在进行整数分割时要小心,首先必须转换为双精度!