JavaScript の 8 進数の危険: parseInt の不正動作の回避策
JavaScript の parseInt 関数は、先頭にゼロが付いている数値に遭遇するとつまずく可能性があります。この問題は、先頭のゼロを 8 進数として解釈する傾向があり、誤った結果が生じることが原因です。 // 1 parseInt('08'); // 0 (無効な 8 進数)
回避策:
parseInt('01'); // 1 parseInt('08'); // 0 (invalid octal digit)
基数 (基数) を指定します
Use Number Constructor
parseInt('01'); // 1 parseInt('08'); // 0 (invalid octal digit)
Convert to Base 10 String
parseInt('01'); // 1 parseInt('08'); // 0 (invalid octal digit)
正規表現を使用
parseInt('01'); // 1 parseInt('08'); // 0 (invalid octal digit)
parseInt(/^0 (.*)$/gm('008')); // 8 (match and capture non-zero digits)
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3