この記事は編集レビューを必要としています。ぜひご協力ください。
メッセージ
RangeError: radix must be an integer at least 2 and no greater than 36 (Firefox) RangeError: toString() radix argument must be between 2 and 36 (Chrome)
エラータイプ
何がうまくいかなかったのか?
Number.prototype.toString()
メソッドで、オプションの radix
パラメーターを使用しています。このパラメーターは、数値を表すために使用するナンバーシステムを指定する 2 から 36 の整数(数)でなければなりません。
なぜ上限が 36 なのでしょうか?10 よりも大きい基数には、アルファベットが数値として用いられます。ラテンアルファベットは 26 文字しかないため、基数は 36 以上にはできません。
一般的な基数として、以下のものを使用します:
例
無効なケース
(42).toString(0); (42).toString(1); (42).toString(37); (42).toString(150); // フォーマットのために、このような文字列は使用できません: (12071989).toString("MM-dd-yyyy");
有効なケース
(42).toString(2); // "101010" (二進数) (13).toString(8); // "15" (八進数) (0x42).toString(10); // "66" (十進数) (100000).toString(16) // "186a0" (十六進数)