0

可能重复:
奇怪的 javascript 添加问题

我知道这显然有一个解决方案,我以前做过,但我不记得了,现在我找不到了。

​&lt;div>1</div>​​​​​​​​

$(function() {
    var number = $('div').text();
    var math = number + 2;
    $('body').text(math);
});​

http://jsfiddle.net/G5zdx/

number不被视为整数,因此math的值为“12”而不是“3”。我该如何纠正?

4

3 回答 3

4

方法很多,但是

var math = (1 * number) + 2;

是一个简单的。您是否应该检测可能的格式错误的非数字取决于其余代码的性质。

parseInt()函数很有用,但可能应该使用 10 作为其第二个参数来调用它,以避免将以 0 开头的数字解释为八进制常量而不是十进制。此外,parseInt()不会将诸如“23skidoo”之类的字符串视为错误,这在您的应用程序中可能正常,也可能不正常。

于 2012-07-15T15:40:44.320 回答
2
​&lt;div>1</div>​​​​​​​​

$(function(){
  var number = parseInt($('div').text(), 10);
  var math = number+2;
  $('body').text(math);
});​
于 2012-07-15T15:41:15.203 回答
1

您可以使用将字符串解析为 int parseInt(string[, radix])

您的代码如下所示

$(function(){
  var number = $('div').text();
  var math = parseInt(number, 10)+2;
  $('body').text(math);
});

来源:http ://www.javascripter.net/faq/convert2.htm

于 2012-07-15T15:41:36.383 回答