可能重复:
奇怪的 javascript 添加问题
我知道这显然有一个解决方案,我以前做过,但我不记得了,现在我找不到了。
<div>1</div>
$(function() {
var number = $('div').text();
var math = number + 2;
$('body').text(math);
});
number
不被视为整数,因此math
的值为“12”而不是“3”。我该如何纠正?
可能重复:
奇怪的 javascript 添加问题
我知道这显然有一个解决方案,我以前做过,但我不记得了,现在我找不到了。
<div>1</div>
$(function() {
var number = $('div').text();
var math = number + 2;
$('body').text(math);
});
number
不被视为整数,因此math
的值为“12”而不是“3”。我该如何纠正?
方法很多,但是
var math = (1 * number) + 2;
是一个简单的。您是否应该检测可能的格式错误的非数字取决于其余代码的性质。
该parseInt()
函数很有用,但可能应该使用 10 作为其第二个参数来调用它,以避免将以 0 开头的数字解释为八进制常量而不是十进制。此外,parseInt()
不会将诸如“23skidoo”之类的字符串视为错误,这在您的应用程序中可能正常,也可能不正常。
<div>1</div>
$(function(){
var number = parseInt($('div').text(), 10);
var math = number+2;
$('body').text(math);
});
您可以使用将字符串解析为 int parseInt(string[, radix])
。
您的代码如下所示
$(function(){
var number = $('div').text();
var math = parseInt(number, 10)+2;
$('body').text(math);
});