我有一些代码,例如,27:30(27 小时 30 分钟)并将其转换为像 27.5 这样的小数。我有另一个相反的功能。
public class Time
{
public static string Hours(decimal d)
{
return TimeSpan.FromHours((double)(d + 0.005M)).ToString("h\\:mm");
}
public static decimal Hours(string s)
{
decimal r;
if (decimal.TryParse(s, out r))
return r;
return (decimal)TimeSpan.Parse(s).TotalHours + 0.005M;
}
}
问题是从十进制到字符串的转换似乎需要 24 小时。如果我给它 30.0 它给我 6:00 这是错误的。应该是 30:00
我能做些什么来避免包裹?
谢谢