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 Logische Schichtung Trennen Si...
Konfigurationsmethode für die kostenlose Installa...
Dieser Artikel ist Teil einer Sonderserie zu den ...
Die automatische Inkrementierung der Primärschlüs...
Inhaltsverzeichnis 1. Wenn beim Einfügen oder Änd...
Ergebnisse erzielenImplementierungscode html <...
1. Grundlegende Verwendung Es kann über den Mutat...
Inhaltsverzeichnis Vorwort 1. API-Einführung 2. Ü...
Ergebnisse erzielen Implementierungscode html <...
Vorwort Wenn es um Datenbanktransaktionen geht, f...
Wenn die Tabelle breit ist, kann es zu einem Über...
Vor einigen Tagen habe ich einen Artikel über die...
1. Laden Sie die beschleunigte Version von msyql ...
Ich spiele in letzter Zeit mit Big Data. Ein Freu...
In der Praxis stoßen wir häufig auf ein Problem: ...