2

重複の可能性:
parseInt(1/0, 19) が 18 を返すのはなぜですか?

JavaScript の式の結果から整数を解析していました。式は(a/b,24)で、メソッド内にあるため、ゼロ除算のチェックはありません。そして、私は整数を次のように解析していますparseInt(a/b,24)

しかし、その中に珍しいものを見つけましたwhen a=1, b=0 the result was 151176378.

この違いの理由を教えてください。

提案をいただければ幸いです。

4

1 に答える 1

3

実行parseInt(a/b, 24)すると、基数 24 の結果を解析しようとしていますa/b(この数体系がどのようになるかわかりません)。

a/bInfinityこれは文字列値に変換され、"Infinity"基数 24 を使用して解析されるため、 と同じ結果が得られますparseInt("Infinity", 24)NaN底が 18 以下の場合 (つまり)の結果が得られますparseInt(1/0, 18)

于 2012-07-13T09:06:58.310 に答える