So konvertieren Sie Ganzzahlen in JavaScript: 1. Verwenden Sie die Funktion parseInt(), Syntax „parseInt(„zu konvertierender Wert“)“. 2. Verwenden Sie Bitoperatoren wie „~~123,45“. 3. Verwenden Sie die Syntax „Math.floor(value)“ und „Math.ceil(value)“.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, JavaScript-Version 1.8.5, Dell G3-Computer.
Methode 1: parseInt()-Funktion
parseInt() ist eine globale Methode, die einen Wert in eine Ganzzahl umwandeln kann. Der Konvertierungsprozess ist wie folgt:
Parsen Sie zuerst das Zeichen an Position 0. Wenn es keine gültige Zahl ist, 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 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
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
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
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
Beispiel 3
Wenn der erste Parameter ein Dezimalwert ist und ein 0-Präfix enthält, sollte der zweite Parameterwert als 10, also als Basismodus, angegeben werden, um zu vermeiden, dass er als Oktalzahl missverstanden wird ist explizit definiert und verwendet nicht den Standard-Basismodus.
console.log(parseInt("010")); //把默认基模式数字 010 转换为十进制整数为 10 console.log(parseInt("010",8)); //把八进制数字 010 转换为十进制整数为 8 console.log(parseInt("010",10)); //把十进制数字 010 转换为十进制整数为 10
Methode 2: Bitoperatoren
console.log(0 | "123.45")//123 console.log(0 | 123.45)//123 console.log(0 ^ 123.45)//123 console.log(~~123.45)//123
Prinzip: JavaScript hat kein Konzept für Ganzzahlen und alle numerischen Typen sind Gleitkommazahlen mit doppelter Genauigkeit. Bei Verwendung bitweiser Operatoren werden die Operanden zunächst in Ganzzahlen umgewandelt, um Operationen zu erleichtern. Das XOR oder bitweise ODER von 0 mit anderen Werten ändert den Operationswert jedoch nicht Math.floor ruft die kleinste Ganzzahl der Zahl ab, und Math.ceil ruft die größte Ganzzahl ab. Wenn wir also -2,3 aufrunden, erhalten wir -2, aber wenn wir Math.floor verwenden, erhalten wir -3. Und 2.3 verwendet Math.ceil, um 3 zu erhalten, aber wir wollen 2.
Lösung: Das obige ist der detaillierte Inhalt vonSo konvertieren Sie Daten in Javascript in Ganzzahlen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!console.log(Math.floor(2.3))//2
console.log(Math.floor(-2.3))//-3
console.log(Math.ceil(2.3))//3
console.log(Math.ceil(-2.3))//-2