为什么parseInt为“08”字符串返回NAN并为“07”字符串返回7?

时间:2013-06-20 02:12:17

标签: google-apps-script

我创建了一个简单的应用脚本,如下所示:

function testeBug() {
  Logger.log(parseInt("07"));
  Logger.log(parseInt("08"));
}

这是记录器输出:

[13-06-19 23:09:13:130 BRT] 7.0 [13-06-19 23:09:13:130 BRT] NaN

为什么会这样? 我正在使用Google Apps脚本

2 个答案:

答案 0 :(得分:21)

您需要将radix参数传递给parseInt

parseInt("08", 10);

如果不这样做会导致某些浏览器将前导零的字符串视为base-8,这就是你所看到的,因为base-8中的07是7,而08是无效的。

答案 1 :(得分:1)

07是有效的八进制表示法,08表示不是。