Heim >Web-Frontend >js-Tutorial >Welche Methoden gibt es zum Konvertieren von Javascript in Ganzzahlen?
Die Methoden zum Konvertieren von JavaScript in Ganzzahlen sind: 1. Verwenden Sie die Methode parseInt(), das Syntaxformat ist „parseInt (Zeichenfolge, die Basis der zu analysierenden Zahl)“ 2. Verwenden Sie die Methode Math.trunc() , das Syntaxformat ist „Math. trunc(value)“.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, JavaScript-Version 1.8.5, Dell G3-Computer.
In diesem Artikel werden JavaScript-bezogene Methoden zum Konvertieren einer Zahl (oder eines numerischen Objekts) in eine Ganzzahl aufgelistet und erläutert.
Die Syntax von parseInt lautet wie folgt: parseInt(string, radix)
Der Parameter string stellt die zu analysierende Zeichenfolge dar, oder es kann ein Objekt sein, und die toString-Funktion des Objekts wird automatisch aufgerufen um die zu analysierende Zeichenfolge zu erhalten.
Der zweite Parameter von parseInt kann die Basis der zu analysierenden Zahl angeben. Beachten Sie, dass der Wert zwischen 2 und 36 liegt. Wenn der Parameter kleiner als 2 oder größer als 36 ist, gibt parseInt() NaN zurück. Im folgenden Code ist das Ergebnis beispielsweise 8, wodurch andere Basiszahlen problemlos in Dezimalzahlen umgewandelt werden können:
parseInt(10,8) // 结果为8
Wenn der Wert des Parameters radix 0 ist oder der Parameter nicht festgelegt ist, wird parseInt() Der Die Basis der Zahl wird anhand der Zeichenfolge ermittelt.
Wenn die Zeichenfolge beispielsweise mit „0x“ beginnt, analysiert parseInt() den Rest der Zeichenfolge in hexadezimale Ganzzahlen. Wenn eine Zeichenfolge mit 0 beginnt, ermöglicht ECMAScript v3 eine Implementierung von parseInt(), um die folgenden Zeichen als Oktal- oder Hexadezimalziffern zu analysieren. Wenn die Zeichenfolge mit einer Zahl zwischen 1 und 9 beginnt, analysiert parseInt() sie in eine dezimale Ganzzahl.
Hinweise
1. Es wird nur die erste Zahl in der Zeichenfolge zurückgegeben. Was bedeutet das? Wenn die Eingabezeichenfolge „123abc“, „123,123“ lautet, ist das Ergebnis 123 und die parseInt-Methode ignoriert automatisch die folgenden nicht numerischen Teile.
2. Leerzeichen am Anfang und Ende der Eingabezeichenfolge sind zulässig.
3. parseFloat hat auch die beiden oben genannten Eigenschaften, aber dieser Artikel wird sich nicht darauf konzentrieren.
Math.trunc() wird der Dezimalteil der Zahl entfernt und nur der ganzzahlige Teil beibehalten. Zum Beispiel der folgende Code:
Math.trunc(13.37) // 13 Math.trunc(42.84) // 42 Math.trunc(0.123) // 0 Math.trunc(-0.123) // -0 Math.trunc("-1.123") // -1 Math.trunc(NaN) // NaN Math.trunc("foo") // NaN Math.trunc() // NaN
Wenn der eingehende Typ keine Zahl ist, wird automatisch eine süchtig machende Konvertierung durchgeführt. Wenn es sich jedoch um einen nicht numerischen Parameter handelt, wird NaN zurückgegeben.
IE-Browser unterstützt diese Methode nicht, daher können Sie Polyfill in Betracht ziehen:
Math.trunc || (Math.trunc = function(v){ return v < 0 ? Math.ceil(v) : Math.floor(v); // 使用Math.floor和Math.ceil方法 }) // 或者 if (!Math.trunc) { Math.trunc = function(v) { v = +v; if (!isFinite(v)) return v; return (v - v % 1) || (v < 0 ? -0 : v === 0 ? v : 0); // 返回: // 0 -> 0 // -0 -> -0 // 0.2 -> 0 // -0.2 -> -0 // 0.7 -> 0 // -0.7 -> -0 // Infinity -> Infinity // -Infinity -> -Infinity // NaN -> NaN // null -> 0 }; }
Für numerisches Objekt n können Sie es auf folgende Weise in eine Ganzzahl umwandeln:
~~n Doppelbit Extraktion Inverse (Doppeltes bitweises NICHT)
n |. n bitweise ODER-Verknüpfung (Bitweises ODER)
n | Linksschiebeoperation 0 Bits (Bitweise Linksverschiebung)
n >> 0 Bit Rechtsschiebeoperation 0 Bits (Bitweise Rechtsverschiebung)
n & n ist die UND-Operation (Bitweises UND)
Der Code lautet beispielsweise wie folgt:
~~1.23 // 1 -1.2 | -1.2 // - 1 -1.2 | 0 // - 1 3.4 >> 0 // 3 3.2 << 0 // 3 5.5 & 5.5 // 5 ~~"1.2" // 1.2
【Empfohlenes Lernen:Javascript-Tutorial für Fortgeschrittene
】
Das obige ist der detaillierte Inhalt vonWelche Methoden gibt es zum Konvertieren von Javascript in Ganzzahlen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!