Le format IEEE754 est utilisé pour représenter des valeurs entières et des points flottants.
Valeur du point flottant: cette valeur doit contenir un point décimal, et il doit y avoir au moins un nombre après le point décimal. Les valeurs des points flottants nécessitent deux fois l'espace mémoire autant que la valeur entière. La précision la plus élevée est de 17 comme décimale, mais sa précision est bien inférieure à celle des entiers lors de l'exécution d'opérations arithmétiques.
Divers types numériques: décimal, octal (non valide en mode strict), hexadécimal
Le premier bit du littéral octal doit être 0, suivi de la séquence du nombre octal (0 ~ 7). Si la valeur numérique dans la valeur littérale est hors de portée, le 0 leader sera ignoré et la valeur numérique suivante sera analysée comme un numéro décimal
070 // 56079 // 79
Les deux premiers chiffres du littéral hexadécimal doivent être 0x suivis des chiffres hexadécimaux (0 ~ 9 et a ~ f). Les lettres a ~ f peuvent être dimensionnées ou minuscules
0xa // 10
Lors de la réalisation de calculs arithmétiques, toutes les valeurs exprimées en octal et hexadécimal seront finalement converties en valeurs décimales
Plage de valeur:
Si une valeur en dehors de la plage de valeur JavaScript est obtenue dans le résultat d'un calcul, cette valeur sera convertie en une valeur d'infini spéciale, qui ne peut pas participer au calcul suivant car l'infini est une valeur qui ne peut pas participer au calcul. Si ce nombre est positif, il est converti en Infinity (positif infini), et si ce nombre est négatif, il est converti en -finity (négatif infini).
-10/0 // - Infinity10 / 0 // Infinity
isInfinite () détermine si un nombre est fini.
var result = number.max_value + nombre.max_valueconsole.log (isfinity (résultat)); // false
Nan
console.log (nan === nan) // false0 / 0 // nan
ISNAN: Recevez un paramètre et essaiera de convertir cette valeur en valeur numérique, renvoyant une valeur booléenne
console.log (Isnan ('10 ')); // falseconsole.log (isnan (' bb ')); // trueConversion numérique
Il y a 3 fonctions qui peuvent convertir les valeurs non numériques en valeurs numériques
Numéro (): utilisé pour tout type numérique.
1.
Nombre (null) // 0UndefinedNumber (Undefined) // nan
2. Valeur booléenne
Nombre (true) // 1Number (false) // 0
3. String
Numéro ('bb') // nan, numéro de caractère non numérique ('123') // 123, numéro de caractère numérique ('') // 0, chaîne vide4. Objet
S'il s'agit d'un objet, appelez la méthode de valeur de () de l'objet, puis convertissez la valeur renvoyée en fonction des règles ci-dessus. Si le résultat de la conversion est NAN, la méthode ToString () de l'objet est appelée et la valeur de chaîne renvoyée est à nouveau convertie en fonction des règles précédentes.
5.Parseint () / parsefloat (): utilisé pour convertir une chaîne en valeur numérique.
parseInt (): Commencez l'analyse de la première chaîne jusqu'à ce qu'elle soit analysée à des caractères non numériques. Deux paramètres peuvent être acceptés. Le deuxième paramètre représente un binaire différent et est converti en nombre décimal par défaut.
parseInt ('') // nan, vide String parseInt (22.4) // 22ParseInt ('12bu') // 12Parseint ('10', 2) // 2Parseint ('10', 8) // 8Parsefloat (): Démarrer l'analyse de la première chaîne, le premier point décimal est valide, Ignore le 0 leader et ne peut être converti que pour les valeurs décroisées. parsefloat ('') // nanparsefloat ('090') // 90parsefloat ('2.3.4') // 2.3Résumer
Mot:
Erreurs d'arrondi
var x = .3 - .2 var y = .2 - .1 x == yx == .1 // => false .3-.