Heim > Web-Frontend > js-Tutorial > Hauptteil

So konvertieren Sie einen Wert in Javascript in einen numerischen Typ

青灯夜游
Freigeben: 2023-01-07 11:44:26
Original
7035 Leute haben es durchsucht

So konvertieren Sie Werte in numerische Typen in JavaScript: 1. Verwenden Sie die Methode parseInt(), um den Wert in eine Ganzzahl umzuwandeln. 2. Verwenden Sie die Funktion parseFloat(), um den Wert in eine Gleitkommazahl umzuwandeln. Verwenden Sie den Multiplikationsoperator, multiplizieren Sie die Variable mit 1, die Variable wird automatisch in einen numerischen Wert umgewandelt und das Ergebnis ändert sich nicht.

So konvertieren Sie einen Wert in Javascript in einen numerischen Typ

Die Betriebsumgebung dieses Tutorials: Windows 7-System, JavaScript-Version 1.8.5, Dell G3-Computer.

Methode 1: Verwenden Sie parseInt()

parseInt() ist eine globale Methode, die Werte in Ganzzahlen umwandelt. Der Konvertierungsprozess läuft wie folgt ab:

Parsen Sie zuerst das Zeichen an Position 0. Wenn es sich nicht um eine gültige Zahl handelt, wird NaN direkt zurückgegeben.

Wenn das Zeichen an Position 0 eine Zahl ist oder in eine gültige Zahl umgewandelt werden kann, fahren Sie mit der Analyse des Zeichens an Position 1 fort. Wenn es keine gültige Zahl ist, geben Sie die gültige Zahl an Position 0 direkt zurück.

Und so weiter: Analysieren Sie jedes Zeichen einzeln in der Reihenfolge von links nach rechts, bis ein nicht numerisches Zeichen gefunden wird.

parseInt() wandelt alle zuvor analysierten zulässigen numerischen Zeichen in numerische Werte um und gibt sie zurück.

console.log(parseInt("123abc"));  //返回数字123
console.log(parseInt("1.73"));   //返回数字1
console.log(parseInt(".123"));   //返回值NaN
Nach dem Login kopieren

Punkte in Gleitkommazahlen sind für parseInt() ungültige Zeichen, daher wird der Dezimalteil des Werts nicht konvertiert.

Wenn es sich um eine numerische Zeichenfolge handelt, die mit 0 beginnt, behandelt parseInt() sie als Oktalzahl: Wandeln Sie sie zuerst in eine Oktalzahl um, wandeln Sie sie dann in eine Dezimalzahl um und geben Sie sie zurück.

Wenn es sich um eine numerische Zeichenfolge handelt, die mit 0x beginnt, behandelt parseInt() sie als Hexadezimalzahl: Wandeln Sie sie zuerst in einen Hexadezimalwert um, wandeln Sie sie dann in eine Dezimalzahl um und geben Sie sie zurück.

var d = 010;  //八进制数字字符串
var e = 0x10;  //十六进制数字字符串
console.log(parseInt(d));  //返回十进制数字8
console.log(parseInt(e));  //返回十进制数字16
Nach dem Login kopieren

parseInt() unterstützt auch den Basismodus, der digitale Zeichenfolgen in verschiedenen Basen wie Binär, Oktal und Hexadezimal in Ganzzahlen umwandeln kann. Der Basismodus wird durch den zweiten Parameter der Funktion parseInt() angegeben.

【Beispiel 1】Der folgende Code wandelt die hexadezimale Ziffernfolge „123abc“ in eine dezimale Ganzzahl um.

var a = "123abc";  
console.log(parseInt(a,16));  //返回十进制整数1194684
Nach dem Login kopieren

【Beispiel 2】Der folgende Code wandelt binäre, oktale und dezimale Ziffernfolgen in dezimale Ganzzahlen um.

console.log(parseInt("10",2));  //把二进制数字 10 转换为十进制整数,为 2
console.log(parseInt("10",8));  //把八进制数字 10 转换为十进制整数,为 8
console.log(parseInt("10",10));  //把十进制数字 10 转换为十进制整数,为 10
Nach dem Login kopieren

[Beispiel 3] Wenn der erste Parameter ein Dezimalwert ist und ein 0-Präfix enthält, sollte der zweite Parameterwert explizit als 10 angegeben werden, um zu vermeiden, dass er als Oktalzahl missverstanden wird definiert, anstatt den Standard-Basismodus zu verwenden.

console.log(parseInt("010"));  //把默认基模式数字 010 转换为十进制整数为 10
console.log(parseInt("010",8));  //把八进制数字 010 转换为十进制整数为 8
console.log(parseInt("010",10));  //把十进制数字 010 转换为十进制整数为 10
Nach dem Login kopieren

Methode 2: Verwenden Sie die Funktion parseFloat()

parseFloat() ist ebenfalls eine globale Methode, sie kann den Wert in eine Gleitkommazahl umwandeln, das heißt, sie kann den ersten erscheinenden Dezimalpunkt erkennen und Die zweite Dezimalstelle gilt als unzulässig. Der Parsing-Prozess ist der gleiche wie bei der parseInt()-Methode.

console.log(parseFloat("1.234.5"));  //返回数值 1.234
Nach dem Login kopieren

Der Parameter von parseFloat() muss eine Zeichenfolge in Dezimalform sein und oktale oder hexadezimale numerische Zeichenfolgen können nicht verwendet werden. Gleichzeitig wird die 0 vor der Zahl (Oktalzahl-Identifikation) ignoriert und die Hexadezimalzahl gibt 0 zurück.

console.log(parseFloat("123"));  //返回数值 123
console.log(parseFloat("123abc"));  //返回数值 123
console.log(parseFloat("010"));  //返回数值 10
console.log(parseFloat("0x10"));  //返回数值 0
console.log(parseFloat("x10"));  //返回数值 NaN
Nach dem Login kopieren

Methode 3: Verwenden Sie den Multiplikationsoperator

Wenn eine Variable mit 1 multipliziert wird, wird die Variable von JavaScript automatisch in einen numerischen Wert umgewandelt. Nach der Multiplikation mit 1 bleibt das Ergebnis unverändert, der Werttyp wird jedoch in einen numerischen Wert umgewandelt. Wenn der Wert nicht auf eine zulässige Zahl reduziert werden kann, wird NaN zurückgegeben.

var a = 1;  //数值
var b = "1";  //数字字符串
console.log(a + (b * 1));  //返回数值 2
Nach dem Login kopieren

【Empfohlenes Lernen: Javascript-Tutorial für Fortgeschrittene

Das obige ist der detaillierte Inhalt vonSo konvertieren Sie einen Wert in Javascript in einen numerischen Typ. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!