添加两个数字会连接两个数字,但结果是数字值?使用Javascript

时间:2015-03-05 01:02:19

标签: javascript jquery concatenation

我有三个需要计算的输入。我在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.

我的代码出了什么问题?

2 个答案:

答案 0 :(得分:2)

因为.val()返回字符串而+也充当字符串连接运算符。

您可以使用parseInt()/parseFloat()/unary operator

将字符串值转换为数字值
$("#result").html("$" + (+$("#einc").val() + (+$("#iinc").val()) - $("#slint").val()));

答案 1 :(得分:1)

试试这个:

Number($("#your_input_field_id").val());

jQuery val()返回string。