joh*_*hnc 15 .net c# string-formatting
是否有一个简单的字符串格式,它将采用小数表示小时和小时的分数,并将其显示为小时和分钟?
例如:5.5格式化显示5小时30分钟.
我很乐意自己编写代码,但是如果可用的话,我更愿意使用现有的功能
Mat*_*ton 28
decimal t = 5.5M;
Console.WriteLine(TimeSpan.FromHours((double)t).ToString());
那将给你"05:30:00",这是非常接近.然后,您可以将其格式化为所需的结果:
var ts = TimeSpan.FromHours((double)t);
Console.WriteLine("{0} hrs {1} minutes", ts.Hours, ts.Minutes);
请注意,从十进制到双精度的转换可能会导致精度损失,但我不认为它在分钟刻度上会引起注意.对类型系统有类似Skeet理解的人可能会在这里发出声音.