-3

重複の可能性:
先頭に 0 がある文字列を parseInt する方法

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
}

this25、this55、this01、this02、this09 のように、this+2 桁として何かを返したい

しかし、私はそれを得ていません。理由を知っている人はいますか?

4

2 に答える 2

3

基数 10 の数値システムを使用していることを指定するには、基数 (2 番目) 引数を追加する必要があります...

parseInt("01", 10); // 1
于 2012-10-03T15:59:23.867 に答える
1

これは、Javascript がゼロで始まる数値を 8 進数 (基数 8) として解釈するために発生します。文字列が評価されるベースを提供することで、このデフォルトの動作をオーバーライドできます (@jondavidjohn が正しく指摘したように)。

parseInt("10");  // returns 10
parseInt("010"); // returns 8
于 2012-10-03T16:35:13.223 に答える