两个数相加就变成了两个数相加,但是结果是一个数值? 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 字符串。