我试图整理一些将在几毫秒内输出答案的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的新手,所以我可能错过了一个非常简单的错误!
答案 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
因素。