如何用前导0解析一个字符串

时间:2009-10-09 17:48:24

标签: javascript string parseint

如何将“09”解析为9?

6 个答案:

答案 0 :(得分:53)

包括基数:

parseInt("09", 10);

答案 1 :(得分:11)

这让我疯狂 - parseInt("02")有效,但parseInt("09")无效。

正如其他人所说,解决方案是指定基数10:

parseInt("09", 10);

对此行为here

有一个很好的解释
  

...在Javascript编号中开始   零被认为是八进制和   因此,八进制没有08或09   问题。

答案 2 :(得分:5)

你也可以这样做:

Number('09') => 9

这将返回IE7,IE8,FF3,FF4和Chrome 10上的整数9。

答案 3 :(得分:5)

重新实现现有的parseInt,这样如果用一个参数调用它,那么“10”会自动包含在第二个参数中。

(function(){
  var oldParseInt = parseInt;
  parseInt = function(){
    if(arguments.length == 1)
    {
      return oldParseInt(arguments[0], 10);    
    }
    else
    {
      return oldParseInt.apply(this, arguments);
    }
  }
})();

答案 4 :(得分:2)

parseInt("09", 10);

parseInt(parseFloat("09"));

答案 5 :(得分:2)

parseInt("09",10);

在这里返回9。

很奇怪。

alert(parseInt("09")); // shows 9. (tested with Opera 10)