JQuery简单加法问题

时间:2012-02-21 13:19:03

标签: jquery

我正在使用Jquery.Ajax并希望使用ajax响应和预定义变量进行一些添加。我的代码如下 -

success: function(response)
{
    $('#net_amount').html("$"+(credit+response));
}

假设'响应'为10,'信用'为20,则打印2010.我希望它为30(20 + 30)。

我该怎么办?

5 个答案:

答案 0 :(得分:3)

因为+用于javascript中的连接以及添加,所以需要确保变量的类型是数字,而不是字符串。

您的选择是使用parseInt()parseFloat()。我会建议后者,因为你在处理你的例子中的货币价值。

success: function(response) {
    $('#net_amount').html("$" + (parseFloat(credit) + parseFloat(response)));
}

答案 1 :(得分:2)

您需要做的就是首先将值解析为Integer,如下所示:

$('#net_amount').html("$" + ( parseInt(credit) + parseInt(response) ));

答案 2 :(得分:0)

响应或信用被视为字符串。 (可能是回应)。

success: function(response)
{
    $('#net_amount').html("$"+(parseInt(credit)+parseInt(response)));
}

以上将为您提供预期的结果

答案 3 :(得分:0)

use parseInt() or parseFloat() its convert into Integer format

E;g:

     var     credit =   '30';
            response=   '20';

     alert(typeof(response)); // string
     alert("++++++++++++"+"$"+(parseInt(credit)+parseInt(response))+"++++++++++++");

if your value as in Integer, then u no need to go for parseInt(),parseFloat()

     var   credit = 30;
          response= 20;

     alert(typeof(response)); // // Integer 
     alert("++++++++++++"+"$"+((credit)+(response))+"++++++++++++");

答案 4 :(得分:0)

另一种解决方案是在添加信用额度和响应值的同时将其乘以1。这将迫使JS将它们视为数值而不是字符串。

success: function(response)
{
    $('#net_amount').html("$"+((credit*1.00)+(response*1.00)));
}