两个数相加就变成了两个数相加,但是结果是一个数值? Javascript
Adding two numbers becomes concatenating two numbers, but the result is a number value? Javascript
我有三个输入需要计算。我在 jQuery 中使用了 .val() 方法来获取输入值并使用以下方法计算它们:
$("document").ready(function(){
$("#calculate").click(function(){
document.getElementById("result").innerHTML="$"+($("#einc").val()+$("#iinc").val()-$("#slint").val());
$("#result").css("display","inline");
});
前两个输入没有加起来,而是连接在一起;即 5+5=55。
但是,减法工作正常。因此,如果我的前两个输入是 10 和 10,而我的最后一个输入是 5,它将给我 1010-5=1005。
我的预期答案应该是 10+10-5=5。
我的代码有什么问题?
因为 .val() returns 字符串和 +
也充当字符串连接运算符。
您可以使用 parseInt()/parseFloat()/unary operator
将字符串值转换为数字值
$("#result").html("$" + (+$("#einc").val() + (+$("#iinc").val()) - $("#slint").val()));
试试这个:
Number($("#your_input_field_id").val());
jQuery val() returns 字符串。
我有三个输入需要计算。我在 jQuery 中使用了 .val() 方法来获取输入值并使用以下方法计算它们:
$("document").ready(function(){
$("#calculate").click(function(){
document.getElementById("result").innerHTML="$"+($("#einc").val()+$("#iinc").val()-$("#slint").val());
$("#result").css("display","inline");
});
前两个输入没有加起来,而是连接在一起;即 5+5=55。 但是,减法工作正常。因此,如果我的前两个输入是 10 和 10,而我的最后一个输入是 5,它将给我 1010-5=1005。
我的预期答案应该是 10+10-5=5。
我的代码有什么问题?
因为 .val() returns 字符串和 +
也充当字符串连接运算符。
您可以使用 parseInt()/parseFloat()/unary operator
$("#result").html("$" + (+$("#einc").val() + (+$("#iinc").val()) - $("#slint").val()));
试试这个:
Number($("#your_input_field_id").val());
jQuery val() returns 字符串。