Das IEEE754 -Format wird verwendet, um Ganzzahl- und Schwimmpunktwerte darzustellen.
Schwimmpunktwert: Dieser Wert muss einen Dezimalpunkt enthalten, und es muss nach dem Dezimalpunkt mindestens eine Zahl geben. Schwimmpunktwerte erfordern den doppelten Speicherplatz genauso wie der Ganzzahlwert. Die höchste Genauigkeit ist 17 als Dezimalheit, aber seine Genauigkeit ist weitaus geringer als die von Ganzzahlen bei der Durchführung arithmetischer Operationen.
Verschiedene numerische Typen: Dezimal, Oktal (im strengen Modus ungültig), hexadezimal
Das erste Bit des Oktalwörtels muss 0 sein, gefolgt von der Oktalzahlsequenz (0 ~ 7). Wenn der numerische Wert im wörtlichen Wert außerhalb des Bereichs liegt, wird die führende 0 ignoriert und der nachfolgende numerische Wert wird als Dezimalzahl analysiert
070 // 56079 // 79
Die ersten beiden Ziffern des hexadezimalen Literales müssen 0x sein, gefolgt von den hexadezimalen Ziffern (0 ~ 9 und a ~ f). Die Buchstaben a ~ f können Größe oder Kleinbuchstaben sein
0xa // 10
Bei der Durchführung arithmetischer Berechnungen werden alle Werte in Oktal und Hexadezimal schließlich in Dezimalwerte umgewandelt
Wertebereich:
Wenn im Ergebnis einer Berechnung ein Wert außerhalb des JavaScript -Wertbereichs erhalten wird, wird dieser Wert in einen speziellen Infinity -Wert umgewandelt, der nicht an der nächsten Berechnung teilnehmen kann, da Unendlichkeit ein Wert ist, der nicht an der Berechnung teilnehmen kann. Wenn diese Zahl positiv ist, wird sie in unendlich (positiv unendlich) umgewandelt, und wenn diese Zahl negativ ist, wird sie in die Infinität (negativ unendlich) umgewandelt.
-10/0 //-Infinity10/0 // Infinity
issinfinite () bestimmt, ob eine Zahl endlich ist.
var result = number.max_value + number.max_valueconsole.log (isfinity (result)); // false
Nan
console.log (nan === nan) // false0/0 // nan
ISNAN: Empfangen Sie einen Parameter und versuchen Sie, diesen Wert in einen numerischen Wert umzuwandeln, wobei ein Boolescher Wert zurückgegeben wird
console.log (isnan ('10 ')); // falseconsole.log (isnan (' bb '); // trueNumerische Konvertierung
Es gibt 3 Funktionen, die nicht numerische Werte in numerische Werte umwandeln können
Number (): Wird für einen beliebigen numerischen Typ verwendet.
1.NULL
Nummer (null) // 0undefinedNumber (undefined) // nan
2. Boolescher Wert
Nummer (true) // 1Number (false) // 0
3. String
Nummer ('BB') // nan, nicht numerische Zeichennummer ('123') // 123, numerische Zeichen Nummer ('') // 0, leere Zeichenfolge4. Objekt
Wenn es sich um ein Objekt handelt, rufen Sie die ValueOF () -Methode des Objekts auf und konvertieren Sie den zurückgegebenen Wert gemäß den oben genannten Regeln. Wenn das Ergebnis der Konvertierung NAN ist, wird die Methode des Objekts toString () aufgerufen und der zurückgegebene Zeichenfolgenwert nach den vorherigen Regeln erneut konvertiert.
5.ParseInt ()/Parsefloat (): Wird verwendet, um eine Zeichenfolge in einen numerischen Wert zu konvertieren.
ParseInt (): Analysieren Sie von der ersten Zeichenfolge, bis sie nicht numerischen Zeichen analysiert wird. Zwei Parameter können akzeptiert werden. Der zweite Parameter repräsentiert eine andere Binärin und wird standardmäßig in eine Dezimalzahl umgewandelt.
ParseInt ('') // nan, leerer String ParseInt (22.4) // 22ParseInt ('12bu') // 12ParseInt ('10', 2) // 2ParseInt ('10', 8) // 8parsefloat (): Parsen von der ersten String, der erste Dezimalpunkt ist gültig, ignorieren die Hauptwerte, die die Hauptwerte nur zu einem Dezimalwert ignorieren, das Leading 0 und kann nur die Hauptwerte ignorieren, die Leading 0 und kann nur zu Dezimalwerten ignoriert werden. Parsefloat ('') // nanparsefloat ('090') // 90Parsefloat ('2.3.4') // 2.3Zusammenfassen
Wort:
Rundungsstörungen
var x = .3 - .2 var y = .2 - .1 x == yx == .1 // => false .3 -.2 does not equal ./ y == .1 // => true .2 - .1 equals .1