String to Int (number)
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
How do I Convert a String into an Integer in JavaScript?
号
我有以下代码:
1 2 3 4 5 6 7 8 9 | $.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,可能没有正确使用它。
使用此:
假设价格为小数,使用
1 2 3 4 5 6 7 8 9 | $.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 | var newPrice = parseInt(currentPrice) + parseInt(data); |
号
首先将HTML派生的值转换为数字(并确保提供基数参数以处理前导零)。
您还应该删除可能存在的任何空白:
1 2 | var currentPrice = parseInt($.trim($("#finalPrice").html()), 10); var newPrice = currentPrice + data; |
。
如果服务器的输出不是JSON格式,那么在添加之前还应该转换
1 | data = parseInt(data, 10); |
最后,如果你的数字不是整数,用
这将帮助您:
1 | var newPrice = 1*currentPrice + 1*data; |
乘以
尝试像这样修改:
美元.ajax({键入:"get",url:'index.php?act=ajax&op=getShippingPrice&id='+ShippingID,成功:函数(数据){
1 2 3 4 | var newPrice = Number(currentPrice + Number($("#finalPrice").html())); $("#finalPrice").html(newPrice); } }); |
。
至少你会出错。