parseInt "09" を 9 にするにはどうすればよいですか?
8082 次
6 に答える
55
基数を含めます:
parseInt("09", 10);
于 2009-10-09T17:49:19.567 に答える
11
これは私を狂わせてきました-parseInt("02")
動作しますが、動作しませんparseInt("09")
。
他の人が言っているように、解決策は10進数を指定することです。
parseInt("09", 10);
ここにこの振る舞いの良い説明があります
... Javascriptでは、ゼロで始まる数値は8進数と見なされ、8進数に08または09がないため、問題が発生します。
于 2011-06-08T15:50:30.587 に答える
5
次のこともできます。
Number('09') => 9
これは、IE7、IE8、FF3、FF4、および Chrome 10 では整数 9 を返します。
于 2011-01-17T22:24:27.050 に答える
5
既存の parseInt を再実装して、1 つの引数で呼び出された場合に "10" が 2 番目の引数として自動的に含まれるようにします。
(function(){
var oldParseInt = parseInt;
parseInt = function(){
if(arguments.length == 1)
{
return oldParseInt(arguments[0], 10);
}
else
{
return oldParseInt.apply(this, arguments);
}
}
})();
于 2012-10-23T19:34:20.380 に答える
2
parseInt("09", 10);
また
parseInt(parseFloat("09"));
于 2009-10-09T17:50:29.717 に答える
2
parseInt("09",10);
ここでは 9 を返します。
奇妙です。
alert(parseInt("09")); // shows 9. (tested with Opera 10)
于 2009-10-09T17:54:49.807 に答える