ホームページ > ウェブフロントエンド > jsチュートリアル > 「parseInt」が先頭にゼロを伴う予期しない結果を与える場合があるのはなぜですか?

「parseInt」が先頭にゼロを伴う予期しない結果を与える場合があるのはなぜですか?

Patricia Arquette
リリース: 2024-12-11 01:42:14
オリジナル
825 人が閲覧しました

Why Does `parseInt` Sometimes Give Unexpected Results with Leading Zeros?

JavaScript の複雑な ParsInt 8 進数の動作を回避する

JavaScript の parseInt 関数は、特に先行ゼロを処理する場合に予期しない動作をすることがあります。具体的には、先頭にゼロがある数値が 8 進整数として誤って解釈され、誤った出力が発生します。この問題は、先頭のゼロが 8 進数を表すという parseInt 関数の仮定に起因します。 8 進数には 8 と 9 が含まれないため、これらの数字で始まる値はゼロと誤って解釈されます。

8 進数の障害を克服する

幸いなことに、この特殊な問題を回避するための戦略がいくつかあります。動作:

1.明示的な基数指定:

基数または基数を明示的に定義することにより、parseInt が入力を 10 進数として解釈することを保証できます。例:

parseInt('08', 10); // 8
ログイン後にコピー

2. Number メソッド:

もう 1 つのオプションは、入力を 10 進数として自動的に解釈する Number メソッドを使用することです:

Number('08'); // 8
ログイン後にコピー

注:

ES5 標準では、この不可解な 8 進数の動作を排除する修正が導入されました。ただし、この変更はブラウザーに依存します。詳細については、Mozilla のドキュメントを参照してください。

以上が「parseInt」が先頭にゼロを伴う予期しない結果を与える場合があるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート