今日のテスト中に問題が見つかりました。データベースの月が 09 の場合、parseInt を使用して変換すると、0 になります。とても困惑しました。長い間テストした後、コードに問題は見つかりませんでした。Googleで検索して、それが何であるかを見つけました。
parseInt("01")からparseInt("07");parseInt("10")までは正しい結果が得られますが、parseInt("08")やparseInt("09"の場合) ") returns 0; まず、parseInt 構文を見てください: parseInt(string, radix); 次のパラメータが記述されていない場合は、最初のパラメータの先頭を使用して、string が変換される文字列であり、radix がどこであるかを判断します。 2進数、8進数、16進数、または10進数。 デフォルトで基数が指定されていない場合、0x に切り替えると 16 進数になります。0 に切り替えて 2 桁目が x でない場合は 8 進数になります (8 進数には 8 または 9 を指定できないため、エラーが発生します)。が報告され、0 が返されます)。 1 から始まる場合は 10 進数なので、10 以降は再び正しいので、桁上げ方式を使用する場合は、間違いを防ぐために明確に指定する必要があります。 通常、10 進数を使用する場合は、parseInt("08", 10); を使用します。したがって、将来これを使用する場合は、parseInt 関数の後に 10 進数を追加するのが最善です。それ以外の場合は、数時間の遅延が発生します。 ! ! ! ! ! ! ! ! ! !