javascript parseInt

时间:2012-10-03 15:57:17

标签: javascript int var parseint

  

可能重复:
  How to parseInt a string with leading 0

如果我在javascript中parseInt(“01”)它与parseInt(“1”)不一样???

start = getStartEugene("MN01");
start2 = getStartEugene("MN1");

getStartEugene: function(spot)  //ex: GT01 GT1
{
    var yard = spot.match(/[0-9]+/);
    var yardCheck = parseInt(yard);
    if (yardCheck < 10)
       return "this"+yard;
    else
      return "this0"+yard
}

我想要回复这个+ 2位数字,例如this25,this55,this01,this02,this09

但我没有得到它。谁知道为什么?

2 个答案:

答案 0 :(得分:3)

您需要添加radix(2nd)参数以指定您使用的是基数为10的数字系统...

parseInt("01", 10); // 1

答案 1 :(得分:1)

这是因为Javascript将以零开头的数字解释为八进制(基数为8)。您可以通过提供将在其中评估字符串的基础来覆盖此默认行为(正如@jondavidjohn正确指出的那样)。

parseInt("10");  // returns 10
parseInt("010"); // returns 8