aboutsummaryrefslogtreecommitdiff
path: root/files/fr/web/javascript/reference/errors/bad_radix/index.html
blob: 37944b3ff877b4e8b9dffbcf568059c140b234a2 (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
62
63
---
title: 'RangeError: radix must be an integer'
slug: Web/JavaScript/Reference/Erreurs/Bad_radix
tags:
  - Erreurs
  - JavaScript
  - RangeError
translation_of: Web/JavaScript/Reference/Errors/Bad_radix
---
<div>{{jsSidebar("Errors")}}</div>

<h2 id="Message">Message</h2>

<pre class="syntaxbox">RangeError: invalid argument (Edge)
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="Type_d'erreur">Type d'erreur</h2>

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

<h2 id="Quel_est_le_problème">Quel est le problème ?</h2>

<p>C'est le paramètre utilisé avec la méthode {{jsxref("Number.prototype.toString()")}} ou avec la méthode {{jsxref("BigInt.prototype.toString()")}} pour indiquer la base de conversion qui est en cause. Ce paramètre, optionnel, doit être un nombre entier, compris entre 2 et 36 qui inique la base du système numérique dans lequel on veut représenter les valeurs numériques.</p>

<p>Pourquoi limiter la base à 36 ? Lorsqu'une base est supérieure à 10, on utilise les caractères de l'alphabet pour représenter les chiffres. Or, l'alphabet latin ne possède que 26 caractères. En utilisant donc les 10 chiffres arabes et ces caractères, on possède 36 caractères pour représenter les chiffres d'un nombre.</p>

<p>Généralement, on emploie cette méthode avec des bases fréquemment utilisées :</p>

<ul>
 <li>2 pour <a href="https://fr.wikipedia.org/wiki/Syst%C3%A8me_binaire">les nombres binaires</a>,</li>
 <li>8 pour <a href="https://fr.wikipedia.org/wiki/Syst%C3%A8me_octal">les nombres octaux</a>,</li>
 <li>10 pour <a href="https://fr.wikipedia.org/wiki/Syst%C3%A8me_d%C3%A9cimal">les nombres décimaux</a>,</li>
 <li>16 pour <a href="https://fr.wikipedia.org/wiki/Syst%C3%A8me_hexad%C3%A9cimal">les nombres hexadécimaux</a>.</li>
</ul>

<h2 id="Examples">Examples</h2>

<h3 id="Exemples_invalides">Exemples invalides</h3>

<pre class="brush: js example-bad">(42).toString(0);
(42).toString(1);
(42).toString(37);
(42).toString(150);
// On ne peut pas utiliser une telle
// chaîne pour du formatage :
(12071989).toString("MM-dd-yyyy");
</pre>

<h3 id="Exemples_valides">Exemples valides</h3>

<pre class="brush: js example-good">(42).toString(2);     // "101010" (binary)
(13).toString(8);     // "15"     (octal)
(0x42).toString(10);  // "66"     (decimal)
(100000).toString(16) // "186a0"  (hexadecimal)
</pre>

<h2 id="Voir_aussi">Voir aussi</h2>

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