Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 仅数字小数部分的除法_Javascript_Html - Fatal编程技术网

Javascript 仅数字小数部分的除法

Javascript 仅数字小数部分的除法,javascript,html,Javascript,Html,有没有办法把一个数字的小数除以整数呢。比如如果我有一个3.99的数字,我只想把小数点除以1.66667。我想这样做是因为3.99应该等于3分59秒,所以我宁愿让它读3.59而不是3.99 这是我现在必须返回时间的代码,顺便说一句,它是从一个程序返回一个时间,该程序告诉你还有多长时间才能到期。但用作完整的两位小数格式 function GetDiff(dt) { sMins = " Min"; sHours = " Hours"; sDays = " Days";

有没有办法把一个数字的小数除以整数呢。比如如果我有一个3.99的数字,我只想把小数点除以1.66667。我想这样做是因为3.99应该等于3分59秒,所以我宁愿让它读3.59而不是3.99

这是我现在必须返回时间的代码,顺便说一句,它是从一个程序返回一个时间,该程序告诉你还有多长时间才能到期。但用作完整的两位小数格式

function GetDiff(dt) { 
    sMins = " Min";
    sHours = " Hours";
    sDays = " Days";
    sSecs = " Secs";

    if (Math.abs(DateDiff("s", now, dt)) < 86400) {
        if (Math.abs(DateDiff("s", now, dt)) <= 3600) {
            return ((Math.floor(Math.abs(
                     DateDiff("s", now, dt) / 60) * 100) / 100
                     ).toFixed(2) + sMins);
        }
        else
        {
            return ((Math.floor(Math.abs(
                     DateDiff("s", now, dt) / 3600) * 100) / 100
                     ).toFixed(2) + sHours);
        }
    }
    else
    {
        return ((Math.floor(Math.abs(
                 DateDiff("s", now, dt) / 86400) * 100) / 100
                 ).toFixed(2) + sDays);
    }
}
函数GetDiff(dt){ sMins=“Min”; sHours=“小时”; 星期四=“天”; sSecs=“Secs”; if(Math.abs(DateDiff(“s”,now,dt))<86400){
如果(Math.abs(DateDiff(“s”,now,dt))您得到的是分钟数-3和0.99分钟 只需0.99*60秒即可获得秒数 并将其附加到会议记录中 返回“3”+“+”59”+sMins


但不建议显示“.”在这种情况下……

您将获得分钟数-3和0.99分钟 只需0.99*60秒即可获得秒数 并将其附加到会议记录中 返回“3”+“+”59”+sMins


但不建议在这种情况下显示“.”假设我们谈论的是3.99分钟,我会首先将它们转换为秒(我们真正关心的单位)。对于总秒数,您可以除以60,然后使用
Math.floor
切掉任何余数,以获得分钟数。然后,您可以将总秒数的结果除以60,以获得“剩余秒数”


假设我们谈论的是3.99分钟,我会首先将它们转换为秒(我们真正关心的单位)。对于总秒数,您可以除以60,然后使用
Math.floor
切掉任何余数,以获得分钟数。然后,您可以将总秒数的结果除以60,以获得“剩余秒数”


您可以使用
数字%1
获取数字的小数部分:

var number = 3.99;                
alert((number % 1) / 1.666667);         // result: 0.59399.....
alert(Math.floor((number % 1) * 60));   // result: 59

您可以使用
数字%1
获取数字的小数部分:

var number = 3.99;                
alert((number % 1) / 1.666667);         // result: 0.59399.....
alert(Math.floor((number % 1) * 60));   // result: 59
那么:

var number = 3.99,
    percentOfSeconds = number - Math.floor(number), // result: .99;
    seconds = Math.floor(percentOfSeconds * 60);    // result 59
这并没有考虑前导零和类似的通过。

如何:

var number = 3.99,
    percentOfSeconds = number - Math.floor(number), // result: .99;
    seconds = Math.floor(percentOfSeconds * 60);    // result 59


这没有考虑到前导零之类的情况。

我想不出任何一种3.99可以代表3分59秒的合理编码。你确定你想做的有意义吗?@user2357112我想它意味着3.99分钟。3.99分钟等于3分59秒我想要3:59分钟的格式,而不是3.99分钟是计时器倒计时吗?我要的是时间格式而不是数字格式!我想不出任何一种3.99可以代表3分59秒的合理编码。你确定你想做的有意义吗?@user2357112我想它的意思是3.99分。3.99分等于3分59秒。我要的是3:59分的格式而不是3.99分的格式。这是我的计时器倒计时我想要的是时间格式而不是数字格式!那么如何将其插入到我的脚本中呢?我首先要清理代码,以便更易于使用和阅读。例如,使
round
function
Math.round(x*100)/100
。这将删除重复的代码并使其更易于阅读。此外,由于您总是控制日期的顺序,因此不需要所有这些
数学.abs
。然后,查看分钟部分。我将获得分钟差,将其设置为变量,而不必对其进行铺垫。然后,您可以应用我的代码并将结果合并到返回值。我不知道该怎么做。我几乎无法让它在小数点后返回时间,直到它变成一个整数。我能让它以十进制格式计算时间的唯一方法是将math.floor添加到math.abs,然后像我一样进行除法。否则,.tofixed只会返回.00而不做任何更改。我知道怎么做手动执行此操作非常有用,另一种方法是使用类似(Moment.js)的库[.在这种情况下,你可能会更幸运地使用它。我一直在尝试用我没有的代码来处理这个问题,但是运气不好,你能告诉我如何用我的脚本来实现吗?那么我如何将它插入到我有的脚本中呢?我会首先清理你的代码,以便更容易地处理和阅读。例如,使
循环函数
Math.round(x*100)/100
。这将删除重复的代码并使其更易于阅读。此外,由于您总是控制日期的顺序,因此不需要所有这些
数学.abs
。然后,查看分钟部分。我将获得分钟差,将其设置为变量,而不必对其进行铺垫。然后,您可以应用我的代码并将结果合并到返回值。我不知道该怎么做。我几乎无法让它在小数点后返回时间,直到它变成一个整数。我能让它以十进制格式计算时间的唯一方法是将math.floor添加到math.abs,然后像我一样进行除法。否则,.tofixed只会返回.00而不做任何更改。我知道怎么做手动执行此操作非常有用,另一种方法是使用类似(Moment.js)的库[.在这种情况下,你可能会更幸运地使用它。我一直在尝试用我没有的代码来处理这个问题,但运气不好,你能告诉我如何用我的脚本实现吗?所以我的代码并不总是3.99分钟,这是脚本从数据库中提取的一个示例,告诉测试何时到期。我如何插入我的脚本脚本一种方法。如果超过60分钟,它会变成小时。在这种情况下,我需要2.50小时,也就是2 gours 50分钟,而不是现在的2.5小时,与分钟相同。你从服务器得到了什么?3.99?请列出你的输入和预期输出?测试到期的时间来自数据库,因此它可能是一个纽约,从1-59分钟,1-23小时到23.99小时以上都是天,这是很好的方式。那么,有没有办法用我发布的代码将十进制格式从1-99改为1-59