如何使用javascript(jquery)将整数值添加到';返回字符串?

如何使用javascript(jquery)将整数值添加到';返回字符串?,javascript,jquery,casting,Javascript,Jquery,Casting,我有一个简单的html块,如: <span id="replies">8</span> 发生的事情是,它看起来像: 81 然后 811 不是9,这将是正确的答案。我做错了什么?parseInt()将强制其为整型,如果无法执行转换,则将为NaN(不是数字) var currentValue = parseInt($("#replies").text(),10); var currentValue = parseInt($("#replies").text(),10);

我有一个简单的html块,如:

<span id="replies">8</span>
发生的事情是,它看起来像:

81

然后

811

不是9,这将是正确的答案。我做错了什么?

parseInt()将强制其为整型,如果无法执行转换,则将为NaN(不是数字)

var currentValue = parseInt($("#replies").text(),10);
var currentValue = parseInt($("#replies").text(),10);

第二个参数(基数)确保它被解析为十进制数。

整数被转换为字符串,而不是相反。你想要:

var newValue = parseInt(currentValue) + 1

要增加1,您可以执行以下操作

  var newValue = currentValue ++;

关于.js的八进制错误解释-我刚才用了这个

parseInt(parseFloat(nv))
在使用前导零进行测试后,每次都返回正确的表示


希望这有帮助。

您的代码应该是这样的:

<span id="replies">8</span>

var currentValue = $("#replies").text();
var newValue = parseInt(parseFloat(currentValue)) + 1;
$("replies").text(newValue);
8
var currentValue=$(“#回复”).text();
var newValue=parseInt(parseFloat(currentValue))+1;
$(“回复”).text(newValue);

这里应该使用Parse int工具,但与任何工具一样,它也应该正确使用。使用parseInt时,应始终使用基数参数,以确保使用正确的基数

var month=new Date().getMonth();
var newmon=月份+1;
$('月').html((newmon<10?'0':'')+newmon);

我只是修复了您的月份问题,getMonth数组从0开始到11。

parseInt在IE中不适用于我。因此我只是在您想要的变量上使用+作为整数

var currentValue = $("#replies").text();
var newValue = +currentValue + 1;
$("replies").text(newValue);

简单地说,在文本值之前添加一个加号

var newValue=+currentValue+1;

您可以将变量乘以1,强制JavaScript将变量转换为数字,然后将其添加到其他值中。这是因为乘法不像加法那样重载。有人可能会说,这不如parseInt清晰,但这是一种实现方法,而且还没有提到。

您可以使用parseInt()方法在javascript中将字符串转换为整数

您只需像这样更改代码

$("replies").text(parseInt($("replies").text(),10) + 1);

小心parseInt(),它将“010”识别为9(以零开头的值被解析为八进制)。Bleh,“010”解析为8(而不是8)@Jacob Relkin:因为这很有用,所以我给了他另一个+1。如果你知道一个更好的答案,很遗憾你没有分享它。它是,除非它检测到前导零,然后它变成八进制。接受用户输入时出现一个简单的小故障。只要使用第二个参数指定基数,它就可以正常工作:
parseInt(“010”,10)
返回10。这与上面发布的答案(大约10年前发布的)有何不同?
var currentValue = $("#replies").text();
var newValue = +currentValue + 1;
$("replies").text(newValue);
$("replies").text(parseInt($("replies").text(),10) + 1);