Hintergrund: Ich frage mich, ob Ihnen aufgefallen ist, dass „parseInt(0.006)“ oder „parseInt(0.0006)“ den Wert 0 zurückgibt, „parseInt(0.0000006)“ jedoch den seltsamen Wert 6 zurückgibt. Warum ist das so? Was ist die parseInt-Funktion? Zunächst einmal: Was ist die Funktion von parseInt()? Es handelt sich um eine native Methode von js, die zum Konvertieren einer numerischen Zeichenfolge in eine Zahl vom Typ „Number“ verwendet wird. Dabei wird nur der ganzzahlige Teil konvertiert. Parsen bedeutet Konvertierung. Int ist eine Ganzzahl. Der Zweck besteht darin, sie in eine Ganzzahl umzuwandeln. var num = parseInt(demo ,radix); //demo ist die Zahl, die Sie konvertieren möchten Übergeben eines Parameters var demo = "123"; var num = parseInt(demo); console.log(typeof(num) + ":" + num); //Nummer: 123 var demo = true; var num = parseInt(demo); console.log(typeof(num) + ":" + num); //Zahl: NaN var demo = false; var num = parseInt(demo); console.log(typeof(num) + ":" + num); //Zahl: NaN var demo = 123,9; var num = parseInt(demo); console.log(typeof(num) + ":" + num); //Zahl: 123, schneide die Dezimalstellen direkt ab, ohne zu runden var demo = "10"; var num = parseInt(demo, 16); console.log(typeof(num) + ":" + num); //Zahl: 16 Verwendung der Übergabe von zwei Parametern var num = parseInt(demo, radix); //radix bedeutet Basis Erklärung: Wenn die Basis als 16 geschrieben wird, denkt das System, dass sie auf Hexadezimalzahlen basiert. 10 (Null) ist Null in Hexadezimalzahlen, was auf Hexadezimalzahlen basiert. Konvertieren Sie es in Dezimalzahlen (also 16). Das Obige basiert auf der Zielbasis und wird in Dezimalzahlen konvertiert (Basisbereich ist 2-36). Beispiel: //1. parseInt(10,2) //Das Ergebnis ist 2, da 10 als Binärzahl betrachtet und in eine Dezimalzahl umgewandelt wird, um 2 zu erhalten. //2 var demo = "123abc"; var num = parseInt(demo); console.log(typeof(num) + “:” + num); //Ergebnis: Zahl: 123 //Weil parseInt bei der numerischen Klasse beginnt und bei der nicht-numerischen Klasse endet und die ursprüngliche Zahl zurückgibt Den Ursachen auf der Spur Wir haben festgestellt, dass unser ideales Ziel darin besteht, alle Dezimalzahlen in 0 umzuwandeln, aber parseInt (0.0000006) gibt 6 zurück, was unerhört ist. konsole.log(parseInt(0.006)) //0 konsole.log(parseInt(0.0006)) //0 konsole.log(parseInt(0.00006)) //0 konsole.log(parseInt(0.000006)) //0 konsole.log(parseInt(0.0000006)) //6 Als ich zurückkam, begann ich, die Gründe und den Ort des Problems zu erforschen. parseInt(0,0000006) //0,000006 Zeichenfolge (0,0000006); //6e-7 parseInt(6e-7); //6 parseInt(0,0000006) //6 Zusammenfassung der Gründe Jetzt habe ich den Grund gefunden. Es stellt sich heraus, dass sich die Form nach 10 hoch -6 in eine komplexe Zahl (6e-7) ändert. Verwenden Sie dann parseInt(), um die 6 in 6e-7 zurückzugeben, sodass der endgültig zurückgegebene Wert 6 ist. richtig Wenn Sie die Dezimalzahl sicher zurückgeben möchten, müssen Sie eine andere Methode verwenden! Math.floor(0,00006); //0 Math.floor(0,000006); //0 Math.floor(0,0000006); //0 Auf diese Weise erhalten Sie den gewünschten Wert. Zusammenfassen Dies ist das Ende dieses Artikels über das seltsame Verhalten von parseInt() in js. Weitere Informationen zu parseInt() in js finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: Detaillierte Erklärung zur Verwendung von MySQL-Gruppenlinks
>>: Detaillierte Erläuterung der geplanten Aufgaben für normale Benutzer unter Linux
Inhaltsverzeichnis JS liest Datei FileReader doku...
Inhaltsverzeichnis Stile in uni-app Zusammenfasse...
Inhaltsverzeichnis 01 Was ist Kubernetes? 02 Der ...
Inhaltsverzeichnis Herkunft Status Quo Anfrage ab...
FEHLER 1290 (HY000) : Der MySQL-Server wird mit d...
<br />Als sich das Denken in Ost und West sp...
Die CSS3-Kategoriemenüeffekte sind wie folgt: HTM...
Inhaltsverzeichnis 1. Fälle vorstellen 2. Zeigen ...
Es gibt viele Gründe für eine langsame Abfrageges...
In diesem Artikel wird der spezifische Code von J...
Verwenden Sie bei der Arbeit mehr Open-Source-Too...
Einführung Ich habe eine Zeit lang die PostgreSQL...
Als ich heute bei der Arbeit war, wurde mir von d...
Hinweis: In diesem Artikel geht es um die grundle...
Binlog ist eine binäre Protokolldatei, die alle M...