Heim  >  Artikel  >  Web-Frontend  >  Wie konvertiere ich numerische Werte in Javascript? Zusammenfassung der Methoden zur numerischen Konvertierung von Javascript

Wie konvertiere ich numerische Werte in Javascript? Zusammenfassung der Methoden zur numerischen Konvertierung von Javascript

不言
不言Original
2018-09-13 16:02:401311Durchsuche

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()

Konvertierungsregeln für Number()

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
  1. 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

parseInt()-Konvertierungsregeln

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 (按十六进制解析)
rrree

parseFloat()-Konvertierungsregeln

Ä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 作为第二个参数是
非常必要的。**
Verwandte Empfehlungen:

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn