gpt4 book ai didi

Javascript - 奇怪的数学输出

转载 作者:行者123 更新时间:2023-11-28 13:25:05 25 4
gpt4 key购买 nike

这是我的 JavaScript:

function straava() {
var input = document.getElementById('input').value
var r1 = document.getElementById('r1').value
var r2 = document.getElementById('r2').value
document.getElementById("output").innerHTML = r2 / (r1 + r2) * input;
}

给定值:

input = 5
r1 = 1000
r2 = 1000

预期输出为 2.5,但此函数生成 0.0004999500049995。这是为什么?

最佳答案

你的变量是字符串。所以发生的事情是这样的:

"1000" / ("1000" + "1000") * "5";
"1000" / "10001000" * "5";
// 0.0004999500049995

+(加法)运算符连接字符串而不是相加,因此结果不正确。

将您的“数字”转换为数字;使用 parseInt/parseFloat 函数、(一元)+ 运算符或 Number 函数:

var input = parseInt(document.getElementById('input').value, 10);
var r1 = parseInt(document.getElementById('r1').value, 10);
var r2 = parseInt(document.getElementById('r2').value, 10);

关于Javascript - 奇怪的数学输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29889562/

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