Der Inhalt dieses Artikels befasst sich mit der Frage, wie man numerische Werte in JavaScript umwandelt. Die Zusammenfassung der numerischen Konvertierungsmethoden von JavaScript hat einen gewissen Referenzwert. Ich hoffe, dass sie für Sie hilfreich ist.
Die folgenden drei Funktionen konvertieren nicht numerische Werte in numerische Werte: Number(), parseInt() und parseFloat()
Boolean Der Wert „true“ wird in 1 und „false“ in 0 umgewandelt.
var correct = true Number(correct) 1 var error = false Number(error) 0
Was als numerischer Wert übergeben wird, wird zurückgegeben
var sales = 10 Number(sales) 10
Nullwert, 0
var arg = null Number(arg) 0
undefiniert wird zurückgegeben, NaN wird zurückgegeben
var vara = undefined Number(vara) NaN
String, befolgen Sie die folgenden Regeln:
Wenn der String nur Zahlen enthält (einschließlich der Groß-/Kleinschreibung mit einem positiven oder negativen Vorzeichen davor) , wird er in einen Dezimalwert umgewandelt, d. h. „1“
wird zu 1, „123“ wird zu 123 und „011“ wird zu 11 (Hinweis: führende Nullen werden ignoriert)
var str = '1' Number(str) 1 var str1 = '011' Number(str1) 11 var str2 = '+1' Number(str2) 1 var str3 = '-001' Number(str3) -1 var str4 = '-121' Number(str4) -121
Wenn die Zeichenfolge ein gültiges Gleitkommaformat enthält, z. B. „1.1“, konvertieren Sie sie in den entsprechenden Gleitkommawert (ebenso werden auch führende Nullen ignoriert
)
var str = '1.1' Number(str) 1.1 var str1 = '+1.1' Number(str1) 1.1 var str2 = '-01.1' Number(str2) -1.1
Wenn die Zeichenfolge enthält gültiges hexadezimales Format, z. B. „0xf“, dann in eine dezimale Ganzzahl derselben Größe konvertieren
Numerischer Wert
Wenn die Zeichenfolge leer ist (keine Zeichen enthält), dann in 0 konvertieren
var str = '' Number(str) 0
Wenn die Zeichenfolge andere Zeichen als das oben genannte Format enthält, konvertieren Sie sie in NaN
var str = 'adfsfdsa' Number(str) NaN
Wenn es sich um ein Objekt handelt, rufen Sie die valueOf()-Methode des Objekts auf und Dann folgen Sie der vorherigen Regel, um den zurückgegebenen Wert umzuwandeln. Wenn das Ergebnis der Konvertierung NaN ist, rufen Sie die toString()-Methode des Objekts auf und konvertieren Sie dann den zurückgegebenen String-Wert erneut gemäß den vorherigen Regeln
Da die Funktion Number() beim Konvertieren von Zeichenfolgen komplexer und unzweckmäßiger ist, wird die Funktion
parseInt() häufiger bei der Verarbeitung von Ganzzahlen verwendet. Wenn die Funktion parseInt() einen String konvertiert, kommt es eher darauf an, ob er dem numerischen Muster entspricht. Leerzeichen vor der Zeichenfolge
werden ignoriert, bis das erste Nicht-Leerzeichen gefunden wird. Wenn das erste Zeichen kein numerisches Zeichen ist, gibt parseInt()
NaN zurück; das heißt, wenn parseInt() zum Konvertieren einer leeren Zeichenfolge verwendet wird, wird NaN zurückgegeben (Number() gibt 0 für Nullzeichen zurück). Wenn beispielsweise
das erste Zeichen ein numerisches Zeichen ist, analysiert parseInt() das zweite Zeichen weiter, bis alle nachfolgenden Zeichen analysiert sind oder ein
nicht numerisches Zeichen gefunden wird. Beispielsweise wird „1234blue“ in 1234 umgewandelt, da „blue“ vollständig ignoriert wird. Ebenso wird „22,5“
in 22 umgewandelt, da der Dezimalpunkt kein gültiges numerisches Zeichen ist.
指定基数会影响到转换的输出结果。例如: var num1 = parseInt("10", 2); //2 (按二进制解析) var num2 = parseInt("10", 8); //8 (按八进制解析) var num3 = parseInt("10", 10); //10 (按十进制解析) var num4 = parseInt("10", 16); //16 (按十六进制解析)
Ähnlich wie die Funktion parseInt() analysiert auch parseFloat() jedes Zeichen beginnend mit dem ersten Zeichen (Position 0). Darüber hinaus wird
auch bis zum Ende der Zeichenfolge analysiert oder bis ein ungültiges numerisches Gleitkommazeichen gefunden wird. Mit anderen Worten: Der
te Dezimalpunkt in der Zeichenfolge ist gültig, aber der zweite Dezimalpunkt ist ungültig, sodass die darauffolgende Zeichenfolge ignoriert wird. Beispielsweise wird
„22,34,5“ in 22,34 umgewandelt.
Zusätzlich zum gültigen ersten Dezimalpunkt besteht der zweite Unterschied zwischen parseFloat() und parseInt() darin, dass führende
Nullen immer ignoriert werden. parseFloat() erkennt alle zuvor besprochenen Gleitkomma-Zahlenformate, einschließlich dezimaler Ganzzahlformate. Zeichenfolgen im Hexadezimalformat
werden jedoch immer in 0 konvertiert. Da parseFloat() nur Dezimalwerte analysiert, ist es nicht sinnvoll, die Basis mit dem zweiten Parameter anzugeben. Eine letzte Sache, die Sie beachten sollten: Wenn die Zeichenfolge eine Zahl enthält, die als Ganzzahl geparst werden kann (kein Dezimalpunkt oder nur Nullen nach dem Dezimalpunkt
), gibt parseFloat() eine Ganzzahl zurück.
**多数情况下,我们要解析的都是十进制数值,因此始终将 10 作为第二个参数是 非常必要的。**
JavaScript-Erkundung: Verwendung von parseInt() für die numerische Konvertierung
Konvertierung numerischer JavaScript-Typen und -Zeichenfolgen zwischen Typen_Javascript-Kenntnisse
Das obige ist der detaillierte Inhalt vonWie konvertiere ich numerische Werte in Javascript? Zusammenfassung der Methoden zur numerischen Konvertierung von Javascript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!