Thanks to visit codestin.com
Credit goes to developer.mozilla.org

This page was translated from English by the community. Learn more and join the MDN Web Docs community.

View in English Always switch to English

RangeError: radix must be an integer

Сообщение

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)

Тип ошибки

RangeError

Что пошло не так?

Метод Number.prototype.toString() был вызван с дополнительным параметром radix. Его значение должно быть целым числом, принадлежащим промежутку от 2 до 36 и указывающим основание системы счисления, которая должна быть использована для представления численных значений. Например, десятичное (основание 10) число 169 представляется в шестнадцатеричном виде (основание 16) как A9.

Почему значение этого параметра не может быть больше, чем 36? Для оснований, превышающих 10, в качестве цифр используются алфавитные символы; следовательно, основание не может быть больше 36, поскольку в латинском алфавите (используемом английским и многими другими языками) только 26 символов.

Наиболее распространённые основания систем счисления:

Примеры

Некорректное применение

js
(42).toString(0);
(42).toString(1);
(42).toString(37);
(42).toString(150);
// Нельзя использовать для форматирования строку данного вида:
(12071989).toString("MM-dd-yyyy");

Корректное применение

js
(42).toString(2); // "101010" (двоичная система)
(13).toString(8); // "15"     (восьмеричная)
(0x42).toString(10); // "66"     (десятичная)
(100000).toString(16); // "186a0"  (шестнадцатеричная)

Смотрите также