重複の可能性:
JavaScript parseInt 8 進数バグの回避策
まあ私はこれを持っています http://jsfiddle.net/gMDfk/1/ アラートは0を返します 値が8または9に等しい場合、jsfiddleのコードは完璧に機能します.. Wtfはここで起こっていますか?
重複の可能性:
JavaScript parseInt 8 進数バグの回避策
まあ私はこれを持っています http://jsfiddle.net/gMDfk/1/ アラートは0を返します 値が8または9に等しい場合、jsfiddleのコードは完璧に機能します.. Wtfはここで起こっていますか?
, 10
aを parseIntに追加します。
parseInt( val, 10 );
これは JS に 10 進数として扱うように指示します。デフォルトでは、 で始まるもの0
はすべて、8 進数の基数 8 として扱われます。は有効な 8 進数ではないため09
、次のようになります。0
数値の前に 0 を付けると、javascript によって 8 進数として解釈されることを意味します。これを試して:
alert(parseInt("010")); //shows "8"
10
に 2 番目のパラメーターとして渡すことで修正parseInt
できます。これにより、10 進数で解析する必要があることがわかります。
alert(parseInt("010", 10)); //shows "10"
parseint は基数パラメーターを使用する必要があります: parseint (value, radix)。あなたの場合、基数は 10 です。それ以外の場合は、8 進数として扱われます。
ベースを指定する
parseInt(some_id_value,10);