C# TimeSpan 给出与预期不同的结果
C# TimeSpan giving different results than expected
这是一个简单的任务,却变成了一个令人困惑的情况。
2:20 分钟,像这样放置 TimeSpan(0,2,20) 然后
TimeSpan.TotallSeconds 给你 140 秒
但是当你做同样的计算时 TimeSpan.FromMinutes(2.20).TotalSeconds 它给出 132.
Google 和其他转换器也给出 132。所以我认为这是正确答案。
但是当你这样计算时 2 min = 120 sek + 20 sek 就是 140 sek。
这是一个错误吗?
那么哪一个是正确的?
"2:20 min when placed in like this TimeSpan(0,2,20) and then TimeSpan.TotallSeconds gives you 140 seconds"
正确。您将 0
小时 2
分钟 20
秒传递给构造函数。由于一分钟是 60
秒,因此跨度中的总秒数是 60 + 60 + 20 = 140
.
"But when you do the same calculation TimeSpan.FromMinutes(2.20).TotalSeconds it gives 132"
2.20
表示“二又十分之二”(可以忽略小数点后的尾随零,就像忽略小数点前的前导零一样)。那么,十分之一分钟等于多少秒?好吧,因为一分钟有 60
秒,所以十分之一是 6
秒;因此 2
60
秒的十分之一是 12
秒。
所以现在我们有 60 + 60 + 12 = 132
秒的跨度。
这里没有错误,只是对 2.20
应用于分钟时的含义的误解。
这是一个简单的任务,却变成了一个令人困惑的情况。
2:20 分钟,像这样放置 TimeSpan(0,2,20) 然后 TimeSpan.TotallSeconds 给你 140 秒
但是当你做同样的计算时 TimeSpan.FromMinutes(2.20).TotalSeconds 它给出 132.
Google 和其他转换器也给出 132。所以我认为这是正确答案。
但是当你这样计算时 2 min = 120 sek + 20 sek 就是 140 sek。
这是一个错误吗? 那么哪一个是正确的?
"2:20 min when placed in like this TimeSpan(0,2,20) and then TimeSpan.TotallSeconds gives you 140 seconds"
正确。您将 0
小时 2
分钟 20
秒传递给构造函数。由于一分钟是 60
秒,因此跨度中的总秒数是 60 + 60 + 20 = 140
.
"But when you do the same calculation TimeSpan.FromMinutes(2.20).TotalSeconds it gives 132"
2.20
表示“二又十分之二”(可以忽略小数点后的尾随零,就像忽略小数点前的前导零一样)。那么,十分之一分钟等于多少秒?好吧,因为一分钟有 60
秒,所以十分之一是 6
秒;因此 2
60
秒的十分之一是 12
秒。
所以现在我们有 60 + 60 + 12 = 132
秒的跨度。
这里没有错误,只是对 2.20
应用于分钟时的含义的误解。