Was bedeutet Radix eigentlich? Warum brauchen wir es?
parseInt(10, radixValue);
javascript
John Cooper
quelle
quelle
Antworten:
Möglicherweise möchten Sie die Ganzzahl nicht immer in eine Basis-10-Zahl analysieren. Wenn Sie also den Radix angeben, können Sie andere Zahlensysteme angeben.
Der Radix ist die Anzahl der Werte für eine einzelne Ziffer. Hexidezimal wäre 16. Oktal wäre 8, Binär wäre 2 und so weiter ...
In der
parseInt()
Funktion gibt es verschiedene Möglichkeiten, um auf den Radix hinzuweisen, ohne ihn anzugeben. Diese können auch gegen Sie wirken, wenn der Benutzer eine Zeichenfolge eingibt, die einer der Regeln entspricht, dies aber nicht ausdrücklich bedeutet. Beispielsweise:quelle
parseInt('0101')
kehrt jetzt zurück101
. Unterschiedliche Browser können sich jedoch unterschiedlich verhalten. Geben Sie immer den Radix an, um zuverlässige Ergebnisse zu erzielen.parseInt(x, 0)
aus irgendeinem Grund verwendet, an denparseInt(x, 10)
ich michWenn Sie eine Zeichenfolgennummer wie haben
0700
und möchten, dass die Ausgabe eine Ganzzahl ist700
, müssen Sie angeben,parseInt()
dass es sich eher um eine Dezimalzahl als um eine Oktalzahl handelt.Hinweis: Ich habe nur die Hälfte Ihrer Frage beantwortet. Siehe andere für gute Definitionen dessen, was ein Radix tatsächlich ist.
quelle
Radix ist die Basis eines Zahlensystems. Es gibt unendlich viele numerische Systeme, aber diejenigen, mit denen die meisten Menschen vertraut sind, sind Basis 10 (dezimal) und Basis 2 (binär).
Numerische Werte können in verschiedenen Basen unterschiedlich interpretiert werden. Zum Beispiel kann die Zahl 10 in Binärform als 2 in Dezimalzahl dargestellt werden.
Im Fall von
parseInt()
können Sie mit dem Radix die zu verwendende Basis angeben. Standardmäßig wird ein Radix von 10 verwendet.Der Radix sollte jedoch immer angegeben werden, auch wenn Basis 10 verwendet wird. Betrachten Sie den Fall von
parseInt("010")
// Gibt 8 zurückAuf den ersten Blick können Sie erwarten, dass die Anweisung 10 zurückgibt. Die explizite Verwendung des Radix hilft, Verwirrung zu vermeiden:
parseInt("010", 10)
// Rückgabe: 10quelle
Der Radix ist die Basisnummer des Zahlensystems: http://en.wikipedia.org/wiki/Radix
Normalerweise müssen Sie den Radix nur angeben, wenn Sie möchten, dass er sich von 10 unterscheidet. Genauer gesagt (von http://www.w3schools.com/jsref/jsref_parseInt.asp ):
quelle
Fügen Sie einfach einige zusätzliche Informationen hinzu, die die Frage klar beantworten:
Wenn radix undefiniert ist oder 0 ist (oder fehlt), geht JavaScript von Folgendem aus:
Quelle: MDN parseInt ()
quelle
Es ist nur meine Meinung, aber die Idee, dass "wir Radix verwenden müssen", ist schnell veraltet. Das Problem war vor einiger Zeit wirklich aktuell, da Personen außerhalb der IT-Welt normalerweise keine anderen Zahlenschreibweisen als Dezimalzahlen verwenden und häufig Dezimalzahlen wie "010" mit Nullen auffüllen. Da ECMAScript 6-Oktalzahlen in JS jedoch "0o" und nicht nur "0" vorangestellt sind, wie dies in ECMAScript 5 und 3 der Fall war, können Sie Radix überspringen, wenn Sie nicht auf die IE-Familie abzielen (dies ist derzeit keine seltene Situation) sicher.
quelle
Quelle W3Schools
quelle
Was ist Radix in paseInt ()?
Die
parseInt()
Funktion analysiert eine Zeichenfolge und gibt eine Ganzzahl zurück. Für den Radix ist ein zweites Argument erforderlich , das die Basis der Zahl in der Zeichenfolge angibt . Der Radix kann eine ganze Zahl zwischen2
und sein36
.Der Funktionsaufruf sieht aus wie (Syntax):
Einige Beispiele zur Verdeutlichung des Radix- Konzepts
Beispiel 1:
Die Radix- Variable sagt, dass "11" im Binärsystem oder Basis 2 ist . Daher konvertiert dieses Beispiel die Zeichenfolge "11" in eine Ganzzahl 3.
Beispiel 2:
Hier sagt der Radix ,
parseInt()
dass10011
es sich um eine Hexadezimalzahl handelt, und daher wird sie in Ganzzahlen in konvertiert65553
Kurz gesagt, das Radix- Argument besagt,
parseInt()
dass die als 1. Parameter übergebene Zeichenfolge von einem bestimmten System stammt (binär, hexadezimal usw.) und als Endprodukt in eine Ganzzahl konvertiert werden muss.quelle