gpt4 book ai didi

javascript - JS add操作返回char+char,不是int+int

转载 作者:行者123 更新时间:2023-11-30 09:55:54 27 4
gpt4 key购买 nike

$(function() {
$("input[class$='m_value']").keyup(function() {

var val1 = $('#v1').val();
var val2 = $('#v2').val();
var val3 = $('#v3').val();

var total = val1+val2+val3;

$( "#total" ).val( total );
});
});

如果#v1=1 #v2=5

我会得到 15,而不是 6

为什么代码只是 char+char...?这不是 int+int。

最佳答案

因为您使用的是字符串。在 input 元素上使用时 val 的返回值始终是一个字符串。 (在具有multipleselect 元素上,它可以是null 或数组;如果您在其中没有任何元素的jQuery 集上调用它根本上,它将是 undefined)。

所以首先,使用一元 +,或 parseInt,或 parseFloat,或 Number.

使用一元 + 的示例(前三行的更改):

var val1 = +$('#v1').val();
var val2 = +$('#v2').val();
var val3 = +$('#v3').val();

var total = val1+val2+val3;

$( "#total" ).val( total ); // Implicit conversion to string here

This answer列出了各种转换为数字的方法及其各种特性。

关于javascript - JS add操作返回char+char,不是int+int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34024704/

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