-
Notifications
You must be signed in to change notification settings - Fork 8k
/
index.md
56 lines (39 loc) · 2.91 KB
/
index.md
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
---
title: "RangeError: radix must be an integer"
slug: 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 и указывающим основание системы счисления, которая должна быть использована для представления численных значений. Например, десятичное (основание 10) число 169 представляется в шестнадцатеричном виде (основание 16) как A9.
Почему значение этого параметра не может быть больше, чем 36? Для оснований, превышающих 10, в качестве цифр используются алфавитные символы; следовательно, основание не может быть больше 36, поскольку в латинском алфавите (используемом английским и многими другими языками) только 26 символов.
Наиболее распространённые основания систем счисления:
- 2 для [двоичных чисел](https://ru.wikipedia.org/wiki/Двоичная_система_счисления),
- 8 для [восьмеричных чисел](https://ru.wikipedia.org/wiki/Восьмеричная_система_счисления),
- 10 для [десятичных чисел](https://ru.wikipedia.org/wiki/Десятичная_система_счисления),
- 16 для [шестнадцатеричных чисел](https://ru.wikipedia.org/wiki/Шестнадцатеричная_система_счисления).
## Примеры
### Некорректное применение
```js example-bad
(42).toString(0);
(42).toString(1);
(42).toString(37);
(42).toString(150);
// Нельзя использовать для форматирования строку данного вида:
(12071989).toString("MM-dd-yyyy");
```
### Корректное применение
```js example-good
(42).toString(2); // "101010" (двоичная система)
(13).toString(8); // "15" (восьмеричная)
(0x42).toString(10); // "66" (десятичная)
(100000).toString(16); // "186a0" (шестнадцатеричная)
```
## Смотрите также
- {{jsxref("Number.prototype.toString()")}}