--- title: 'RangeError: radix must be an integer' slug: Web/JavaScript/Reference/Errors/Bad_radix tags: - Errors - JavaScript - RangeError translation_of: Web/JavaScript/Reference/Errors/Bad_radix ---
{{jsSidebar("Errors")}}

メッセージ

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)

エラータイプ

{{jsxref("RangeError")}}

何がうまくいかなかったのか?

{{jsxref("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"  (十六進数)

関連項目