Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
RangeError: radix must be an integer
Der JavaScript-Ausnahmefehler "radix must be an integer at least 2 and no greater than 36"tritt auf, wenn der optionaleradix-Parameter derNumber.prototype.toString()- oderderBigInt.prototype.toString()-Methode angegeben wurde und dieser nichtzwischen 2 und 36 liegt.
In diesem Artikel
Meldung
RangeError: toString() radix argument must be between 2 and 36 (V8-based & Safari)RangeError: radix must be an integer at least 2 and no greater than 36 (Firefox)
Fehlerart
RangeErrorWas ist schiefgelaufen?
Der optionaleradix-Parameter derNumber.prototype.toString()- oder derBigInt.prototype.toString()-Methode wurde angegeben. Sein Wert muss eineGanzzahl (eine Zahl) zwischen 2 und 36 sein, die die Basis des Zahlensystems angibt,das zur Darstellung numerischer Werte verwendet werden soll. Zum Beispiel wird diedezimale (Basis 10) Zahl 169 im hexadezimalen (Basis 16) System als A9 dargestellt.
Warum ist der Wert dieses Parameters auf 36 begrenzt? Eine Basis, die größer als 10 ist,verwendet alphabetische Zeichen als Ziffern; daher kann die Basis nicht größer als 36sein, da das lateinische Alphabet (das im Englischen und vielen anderen Sprachen verwendetwird) nur 26 Buchstaben enthält.
Die gebräuchlichsten Basen:
- 2 fürbinäre Zahlen,
- 8 füroktale Zahlen,
- 10 fürdezimale Zahlen,
- 16 fürhexadezimale Zahlen.
Beispiele
>Ungültige Fälle
(42).toString(0);(42).toString(1);(42).toString(37);(42).toString(150);// You cannot use a string like this for formatting:(12071989).toString("MM-dd-yyyy");Gültige Fälle
(42).toString(2); // "101010" (binary)(13).toString(8); // "15" (octal)(0x42).toString(10); // "66" (decimal)(100000).toString(16); // "186a0" (hexadecimal)