我有一个分钟值,我想要2个字符串值,一个用多少小时,另一个用分钟,例如:
价值 - 121分钟
字符串小时= 2
字符串分钟= 1
价值 - 58分钟
字符串小时= 0
字符串分钟= 58
我怎样才能在C#中解决这个问题?
var span = System.TimeSpan.FromMinutes(121); var hours = ((int)span.TotalHours).ToString(); var minutes = span.Minutes.ToString();
ToString()是因为你要求输入字符串值...
TotalHours是TimeSpan中的完整小时数,它们可以超过24小时(而"小时"字段最多为24小时)
哦,第二个想法:为什么要使用TimeSpan而不是自己计算?因为TimeSpan已经在微软进行了调试和测试,所以它有一个很好的干净界面(查看代码,你很容易看到它们是什么,而不必在精神上进行计算),它很容易扩展到更多的解决方案.(请在几秒钟内输入?使用TimeSpan.FromSeconds().想要几天?使用span.TotalDays ...)
更新:
我刚刚在答案中注意到错误:TotalHours返回所有小时的小数值,因此我们必须在将其转换为字符串之前将其截断为整数.
使用Timespan结构及其Parse方法.