aboutsummaryrefslogtreecommitdiff
path: root/files/ru/web/javascript/reference/errors/bad_radix/index.html
blob: b3e84de1e7062d9fb46d17565c30a109582681b5 (plain)
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
57
58
59
60
61
---
title: 'RangeError: radix must be an integer'
slug: Web/JavaScript/Reference/Errors/Bad_radix
tags:
  - JavaScript
  - RangeError
  - Ошибки
translation_of: Web/JavaScript/Reference/Errors/Bad_radix
---
<div>{{jsSidebar("Errors")}}</div>

<h2 id="Сообщение">Сообщение</h2>

<pre class="syntaxbox">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)
</pre>

<h2 id="Тип_ошибки">Тип ошибки</h2>

<p>{{jsxref("RangeError")}}</p>

<h2 id="Что_пошло_не_так">Что пошло не так?</h2>

<p><span class="notranslate">Метод </span> {{jsxref("Number.prototype.toString()")}} <span class="notranslate">был вызван с дополнительным параметром <code>radix</code>.</span> <span class="notranslate"> Его значение должно быть целым числом, принадлежащим промежутку от 2 до 36 и указывающим основание системы счисления, которая должна быть использована для представления численных значений.</span> <span class="notranslate"> Например, десятичное (основание 10) число 169 представляется в шестнадцатеричном виде (основание 16) как A9.</span></p>

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

<p><span class="notranslate">Наиболее распространенные основания систем счисления:</span></p>

<ul>
 <li>2 для <a href="https://ru.wikipedia.org/wiki/Двоичная_система_счисления">двоичных чисел</a>,</li>
 <li>8 для <a href="https://ru.wikipedia.org/wiki/Восьмеричная_система_счисления">восьмеричных чисел</a>,</li>
 <li>10 для <a href="https://ru.wikipedia.org/wiki/Десятичная_система_счисления">десятичных чисел</a>,</li>
 <li>16 для <a href="https://ru.wikipedia.org/wiki/Шестнадцатеричная_система_счисления">шестнадцатеричных чисел</a>.</li>
</ul>

<h2 id="Примеры">Примеры</h2>

<h3 class="highlight-spanned" id="Некорректное_применение"><span class="highlight-span"><span class="notranslate">Некорректное применение</span></span></h3>

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

<h3 id="Корректное_применение">Корректное применение</h3>

<pre class="brush: js example-good">(42).toString(2);     // "101010" (двоичная система)
(13).toString(8);     // "15"     (восьмеричная)
(0x42).toString(10);  // "66"     (десятичная)
(100000).toString(16) // "186a0"  (шестнадцатеричная)
</pre>

<h2 id="Смотрите_также"><span class="notranslate">Смотрите также</span></h2>

<ul>
 <li>{{jsxref("Number.prototype.toString()")}}</li>
</ul>