gpt4 book ai didi

添加两个输入框值的 JavaScript 意外结果

转载 作者:行者123 更新时间:2023-12-03 09:21:52 25 4
gpt4 key购买 nike

我试图在 Java 脚本中添加两个文本框字段值。下面是我的代码

<!DOCTYPE html>
<html>
<head>
<script>
function addFunction() {
var x = document.getElementById("firstInput").value;
var y = document.getElementById("secondInput").value;
var sum=x+y;
alert('Sum is:'+sum);
}
</script>
</head>
<body>

<input type="text" id="firstInput"><br/>
<input type="text" id="secondInput"><br/>

<input type="button" value="Add" onclick="addFunction()">

</body>
</html>

我期望结果是两个字段值的总和,但事实并非如此我在第一个文本字段中输入 2,在第二个文本字段中输入 3,输出为

Sum is:23

然后仅用于测试,我在 addFunction() 中添加了以下代码

var a = 0.0343;
var b = 0.11;
var x = a + b;
alert(x);

输出为

0.144299999999999998

发生什么事了。有人可以解释一下为什么我会得到这两个特殊的输出吗?

最佳答案

input 元素的 value 是字符串。 “2”+“3”==“23”

要获得预期的输出,您可以这样做:

function addFunction() {
var x = parseInt(document.getElementById("firstInput").value);
var y = parseInt(document.getElementById("secondInput").value);
var sum=x+y;
alert('Sum is:'+sum);
}

关于第二个问题,您可以在这里阅读更多内容:How to deal with floating point number precision in JavaScript?

关于添加两个输入框值的 JavaScript 意外结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31815996/

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