我正在尝试23.40使用以下方法转换以双精度表示的时间,例如表示 23 小时 40 分钟:
private TimeSpan DoubleToTimeSpan(double time)
{
    double hour = Math.Floor(time);
    double minute = (time - hour) * 100d;
    TimeSpan ts = new TimeSpan((int)hour, (int)minute, 0);
    return ts;
}
在某些时候对其进行测试时,23.40例如:
Console.WriteLine(DoubleToTimeSpan(23.40));
显示23:39:00,整整一分钟都被系统偷走了!我的分钟在哪里?
注意:我知道TimeSpan.FromHours,这对我没有帮助,因为这种方法将分钟视为百分比,因此23.4023 小时和一小时的 40%,即23:24:00.