如果我在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
但我没有得到它。谁知道为什么?
答案 0 :(得分:3)
您需要添加radix(2nd)参数以指定您使用的是基数为10的数字系统...
parseInt("01", 10); // 1
答案 1 :(得分:1)
这是因为Javascript将以零开头的数字解释为八进制(基数为8)。您可以通过提供将在其中评估字符串的基础来覆盖此默认行为(正如@jondavidjohn正确指出的那样)。
parseInt("10"); // returns 10
parseInt("010"); // returns 8