如何将 Int "09" 解析为 9 ?
问问题
8082 次
6 回答
55
包括基数:
parseInt("09", 10);
于 2009-10-09T17:49:19.567 回答
11
这一直让我发疯 -parseInt("02")
工作但不是parseInt("09")
。
正如其他人所说,解决方案是指定基数 10:
parseInt("09", 10);
这里有一个很好的解释这种行为
...在 Javascript 中,从零开始的数字被认为是八进制,八进制中没有 08 或 09,因此存在问题。
于 2011-06-08T15:50:30.587 回答
5
你也可以这样做:
Number('09') => 9
这将在 IE7、IE8、FF3、FF4 和 Chrome 10 上返回整数 9。
于 2011-01-17T22:24:27.050 回答
5
重新实现现有的 parseInt 以便如果使用一个参数调用它,那么“10”会自动包含在第二个参数中。
(function(){
var oldParseInt = parseInt;
parseInt = function(){
if(arguments.length == 1)
{
return oldParseInt(arguments[0], 10);
}
else
{
return oldParseInt.apply(this, arguments);
}
}
})();
于 2012-10-23T19:34:20.380 回答
2
parseInt("09", 10);
或者
parseInt(parseFloat("09"));
于 2009-10-09T17:50:29.717 回答
2
parseInt("09",10);
在这里返回 9。
这很奇怪。
alert(parseInt("09")); // shows 9. (tested with Opera 10)
于 2009-10-09T17:54:49.807 回答