如何将无限数(例如6.983333)转换为精确时间(例如6:59:00),而不损失javascript中的任何时间

如何将无限数(例如6.983333)转换为精确时间(例如6:59:00),而不损失javascript中的任何时间,javascript,jquery,datetime,math,Javascript,Jquery,Datetime,Math,如何使用代码将6.983333转换为6:59。当我转换时,它使用以下javascript代码给出了6:58的答案 function ConvertDecimalToHours(durationInHours) { let durationInMinutes = durationInHours * 60; let hours = Math.floor(durationInHours); let minutes = Math.floor(durationInMinutes

如何使用代码将6.983333转换为6:59。当我转换时,它使用以下javascript代码给出了6:58的答案

function  ConvertDecimalToHours(durationInHours)
{
    let durationInMinutes = durationInHours * 60;
    let hours = Math.floor(durationInHours);
    let minutes = Math.floor(durationInMinutes % 60);  
    let duration = `${hours}:${minutes}`;
    return duration;
}
我使用了以下计算器,它给出了我给出的值的正确答案(值:6.983333):


使用
数学圆

函数转换十进制小时(持续时间小时){
持续时间分钟=持续时间小时*60;
常数小时=数学楼层(持续时间小时);
常数分钟=数学轮(持续时间分钟%60);
常量持续时间=`${hours}:${minutes}`;
返回时间;
}
const res=十进制小时(6.983333);
//结果

控制台日志(res)请选择一个语言标签。编辑:因为您的代码是JavaScript,所以我删除了和标记。您显式地使用了
Math.floor
。如果你用
Math.round
代替分钟值,你会得到你想要的结果。
Math.round
,而不是
Math.ceil
。是的,thanx)我已经解决了这个问题。我应该也用Math.round几个小时吗@T.J。Crowder@Coder-否,因为部分小时显示为分钟。