Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google脚本转换数字的方式与javascript不同_Javascript_Google Apps Script_Google Sheets - Fatal编程技术网

Google脚本转换数字的方式与javascript不同

Google脚本转换数字的方式与javascript不同,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,我正在尝试将字符串转换为int。当字符串是一个前导为零的数字时,Google脚本似乎遇到了麻烦。将“07”转换为7很好,将“08”转换为NaN function test_parse_int() { var ss = SpreadsheetApp.getActiveSpreadsheet(); // parses to 7 ss.toast( parseInt("07") ); // parses to NaN ?!? ss.toast( parseInt("08") );

我正在尝试将字符串转换为int。当字符串是一个前导为零的数字时,Google脚本似乎遇到了麻烦。将“07”转换为7很好,将“08”转换为NaN

function test_parse_int() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  // parses to 7
  ss.toast( parseInt("07") );
  // parses to NaN ?!?
  ss.toast( parseInt("08") );
}
我用JavaScript测试了它,结果很好

<script>
// parses to 7
document.writeln(parseInt("07"));
// parses to 8
document.writeln(parseInt("08"));
</script>

//解析为7
书面文件(parseInt(“07”));
//解析为8
书面文件(parseInt(“08”));
这种行为对我来说毫无意义,这是一个错误吗?我遗漏了什么吗?

来源:[归功于@teemu comment]

如果输入字符串以“0”开头,则基数为8(八进制)或10 (十进制)。具体选择哪个基数取决于实现。 ECMAScript 5指定使用10(十进制),但不是所有浏览器 支持这一点。因此,使用时请始终指定基数 帕森特

因此,请明确提及
基数

大概是这样的:

function test_parse_int() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  // parses to 7
  ss.toast( parseInt("07", 10) );
  // parses to NaN ?!?
  ss.toast( parseInt("08", 10) );
}

关键字是“octal”,请正确使用基数参数。“许多实现到2013年还没有采用这种行为,而且由于必须支持较旧的浏览器,所以请始终指定基数“好的,我明白了。”。谢谢