今日のプログラムにバグが登場しました。私は長い間それをデバッグし、最終的にそれがこの問題であることがわかりました。
実験が行われました:
アラート(parseint( "01"))、これの値が01 ====> 07の場合、それは正常ですが、「08」では、09 "が0に戻ります。
(この現象は、360ブラウザーなどのIkeaカーネルのブラウザで発生します。このエラーは発生します)(Google、Firefoxは影響を受けません)
。
情報を読んだ後、この現象の理由について学びました。
偉大な神の説明:
01--07には当然問題はありませんが、09と08はすべて資格のないOctal形式であるため、0として処理されました。この問題を解決するために、Parseintの別のパラメーターを使用してParseintに10進数で処理するよう指示できます。
parseint( "08"、10)またはparseint( "09"、10)
parseint(string、 radix)は、文字列を整数に変換することです。 2番目のパラメーターは、文字列の形式を設定することです。一般的に使用されるのは2、8、10、および16で、バイナリ番号の文字列の数を示しています。
基数の範囲は2〜36です。この範囲内にない場合、ナンは返されます。
RADIXの値が0に設定されているかどうかにかかわらず、文字列の形式は自動的に認識されます。
「0x」から始めて、parseint()は、0xを除く1倍の数字として残りの文字列を扱います。
「0」から始めて、parseint()は、0以外の文字をOctalまたは16進数として扱います。
数字1から9から始めて、Parseint()はそれを小数点以下の数値として扱います。
上記は、JavaScriptのParseint( "08")と「09」が紹介された理由についての関連する知識です。それがあなたに役立つことを願っています。ご質問がある場合は、メッセージを残してください。編集者は時間内に返信します。 wulin.comのウェブサイトへのご支援ありがとうございます!