将十进制 (62.25) 转换为小时和分钟字符串(62 小时 15 分钟)?

Ana*_*tic -3 c# datetime decimal data-conversion

有没有一种简单的方法可以将我的 Decimal 值(例如 62.25)转换为像“62 小时:15 分钟”这样的返回字符串?我一直在查看与此类似的几篇文章(Decimal Hour into Time?),但即使是说它们适用于大于 24 小时周期的数字的建议也不起作用。

Fra*_*erZ 5

这很简单:

var decimal = 62.25;

var hours = Math.floor(decimal);
var mins = 60 * (decimal - hours);

console.log(`${hours} hours, ${mins} minutes`);
Run Code Online (Sandbox Code Playgroud)

在 c# 中,您可能只利用TimeSpan该类。在这里查看.NET 小提琴

using System;

public class Program
{
    public static void Main()
    {
        var dec = 62.25m;
        var ts = TimeSpan.FromHours((double)dec);

        Console.WriteLine("{0} Hours, {1} Minutes", Math.Floor(ts.TotalHours), ts.Minutes);
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 62 小时 15 分钟 (2认同)