Javascript中的毫秒计算错误

时间:2016-05-25 22:37:50

标签: javascript html time

我试图整理一些将在几毫秒内输出答案的JavaScript。

它是一个计算旅行一定距离所需时间的脚本。

目前,我需要从页面上的文本框中划分数字。它似乎做了除法,但结果并不正确。

例如...... var a = 3.7(距离)和var b = 25(速度)

function journey_calc()
        {
            var a = +$("#txtDistance")[0].value; // example: 3.7 miles (distance)
            var b = +$("#txtSpeed")[0].value; // example: 25 mph (speed)
            var c = (a/b)/3600000; // returns the length of time it will take to travel the distance in hours, then divides by 3600000 to get the answer in milliseconds. 

            $(".journey-finder-result").text(c); //posts answer to span on page

        }

它"工作"但是" var c"计算不正确。使用上面的例子答案应该是532800,但它返回4.111111111111112e-8

最终目标是将毫秒转换为dd:hh:mm:ss形式 - 我接近这个错误吗?

非常感谢!

注意:我是javascript的新手,所以我可能错过了一个非常简单的错误!

1 个答案:

答案 0 :(得分:7)

应该是

var c =  a / b * 3600000;

这是一个数学问题,而不是JS。固定代码:

function journey_calc()
        {
            var a = +$("#txtDistance")[0].value; // example: 3.7 miles (distance)
            var b = +$("#txtSpeed")[0].value; // example: 25 mph (speed)
            var c = a / b * 3600000; // returns the length of time it will take to travel the distance in hours, MULTIPLIED by 3600000 to get the answer in milliseconds.

            $(".journey-finder-result").text(c); //posts answer to span on page

        }

如果你想以毫秒为单位得到结果,你应该乘以

<HOUR> * 60 minutes * 60 seconds * 1000 milliseconds

所以,3600000因素。