gpt4 book ai didi

Javascript 小数归约产生不正确的结果

转载 作者:行者123 更新时间:2023-12-01 03:21:57 24 4
gpt4 key购买 nike

我有一个函数,可以通过单击按钮从计时器的当前时间生成数组值。在本例中,结果如下:

var data_catch = ["0", "24.871604", "27.1788", "29.69", "29.100", "30.570661"];

然后我需要使用“下一个值将减少前一个值”的规则来获取数组值之间的持续时间,这导致我使用这种方式:

var data_duration = [];
for (var i = 1; i < data_catch.length; i++) {
data_duration.push(data_catch[i]-data_catch[i-1]);
}
console.log(data_duration);

data_duration的值永远不应该是负数,因为计时器总是向前走,并且 currentTime 总是比之前的 currentTime 具有更大的值。但在这种情况下 data_duration 的结果是:

data_duration = [
24.871604,
2.3071959999999976,
2.5112000000000023,
-0.5899999999999999,
1.4706609999999998
];

由于这一减少,结果有一个负值 29.100 - 29.69为什么会发生这种情况以及如何解决这个问题?请帮助我..

最佳答案

您可以使用Math.abs获取绝对值。而且从数学上来说 29.69 大于 29.100

var data_catch = ["0", "24.871604", "27.1788", "29.69", "29.100", "30.570661"];
var data_duration = [];
for (var i = 1; i < data_catch.length; i++) {
data_duration.push(Math.abs(data_catch[i] - data_catch[i - 1]));
}

console.log(data_duration);

关于Javascript 小数归约产生不正确的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45129383/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com