字符串到Int(数字)

时间:2013-01-03 08:39:18

标签: javascript jquery html

  

可能重复:
  How do I Convert a String into an Integer in JavaScript?

我有以下代码:

    $.ajax({
      type: "GET",
      url: 'index.php?act=ajax&op=getShippingPrice&id='+shippingID,
      success: function(data) {
        var currentPrice = Number($("#finalPrice").html());
        var newPrice = Number(currentPrice + data);
        $("#finalPrice").html(newPrice);
      }
    });

我试着计算新价格。但我实际上得到一串newPrice,其中包含当前价格,紧接着ajax的数据。

如果当前价格是1500,而ajax的数据是10,我得到的是150010,而不是1510。

我也尝试使用parseInt,可能没有正确使用它。

5 个答案:

答案 0 :(得分:4)

使用此:

假设使用parseFloat的小数价格,如果没有,请使用parseInt

$.ajax({
  type: "GET",
  url: 'index.php?act=ajax&op=getShippingPrice&id='+shippingID,
  success: function(data) {
    var currentPrice = parseFloat($("#finalPrice").html());
    var newPrice = currentPrice + parseFloat(data));
    $("#finalPrice").html(newPrice.toFixed(2));
  }
});

答案 1 :(得分:2)

这样做:

var newPrice = parseInt(currentPrice) + parseInt(data);

答案 2 :(得分:0)

这将对您有所帮助:

 var newPrice = 1*currentPrice + 1*data;

乘以1不会改变结果,但会改变变量类型。

答案 3 :(得分:0)

首先将HTML派生的值转换为数字(并确保提供radix参数以应对前导零)。

您还应删除可能存在的任何空格:

var currentPrice = parseInt($.trim($("#finalPrice").html()), 10);
var newPrice = currentPrice + data;

如果服务器的输出不是JSON格式,那么在添加之前你也应该转换data字段:

data = parseInt(data, 10);

最后,如果您的数字实际上不是整数,请使用parseFloat代替parseInt

答案 4 :(得分:-1)

尝试像这样修改:

$。AJAX({       类型:“GET”,       url:'index.php?act = ajax& op = getShippingPrice& id ='+ shippingID,       成功:功能(数据){

    var newPrice = Number(currentPrice + Number($("#finalPrice").html()));
    $("#finalPrice").html(newPrice);
  }
});

至少你会收到错误。