js parseInt() Fehler oder Vorsichtsmaßnahmen

parseInt( stringradix )  analysiert einen String und gibt eine dezimale Ganzzahl in der angegebenen Basis zurück

Dies ist die Definition, daher muss bei der Verwendung dieser Funktion zum Runden besondere Aufmerksamkeit gewidmet werden, da der erste Parameter eine Zeichenfolge ist 

Zum Beispiel

parseInt(5.960464477539062e-7)
gibt 5 statt 0 aus

Daher müssen Sie stattdessen Math.floor verwenden

2. Im Internet gibt es zwei Meinungen

1.js hat nur einen Zahlentyp, nämlich eine 64-Bit-Gleitkommazahl.

2. In JS werden sowohl Ganzzahlen als auch Dezimalzahlen in Form von 64-Bit-Gleitkommazahlen gespeichert und Ganzzahloperationen werden automatisch in 32-Bit-Ganzzahlen mit Vorzeichen konvertiert.

Testergebnis js 1 korrekt

10/16777216 //5.960464477539062e-7
46777215 / 2 //23388607.5
10*16777215 //167772150
16777210 + 16777210 //16777210 + 16777210
16777210 *3 //50331630

おすすめ

転載: blog.csdn.net/tangshangkui/article/details/130762855