La méthode Number.isSafeInteger()
permet de déterminer si la valeur, passée en argument, est un entier représentable correctement en JavaScript (c'est-à-dire un nombre compris entre -(253 -1) et 253 -1).
Syntaxe
Number.isSafeInteger(valeurÀTester)
Paramètres
valeurÀTester
- La valeur dont on souhaite savoir si elle représente un entier représentable correctement en une valeur non signée sur 32 bits. (JavaScript utilise les nombres au format de virgule flottante à double précision comme spécifié dans IEEE 754 et ne peut représenter avec certitude un entier qu'entre
-(253-1)
et253 -1
.)
Valeur de retour
Un booléen qui indique si la valeur fournie en argument est un entier représentable correctement en JavaScript.
Description
Un entier correctement représentable en JavaScript :
- peut exactement être représenté avec un nombre à précision double selon IEEE-754
- la réprésentation IEEE-754 du nombre ne permet pas de l'arrondir à un autre entier pouvant être représenté avec le format décrit par IEEE-754.
Ainsi, par exemple, 253 - 1
peut être représenté correctement, aucun autre entier ne peut être arrondi en cette valeur selon IEEE-754. En revanche, 253
ne peut pas être représenté correctement car 253 + 1
sera arrondi en 253
selon les règles IEEE-754 (arrondi à l'entier le plus proche).
L'intervalle des entiers qui peuvent être correctement représentés est [-(253 - 1),253 - 1
].
Exemples
Number.isSafeInteger(3); // true Number.isSafeInteger(Math.pow(2, 53)) // false Number.isSafeInteger(Math.pow(2, 53) - 1) // true Number.isSafeInteger(NaN); // false Number.isSafeInteger(Infinity); // false Number.isSafeInteger("3"); // false Number.isSafeInteger(3.1); // false Number.isSafeInteger(3.0); // true
Prothèse d'émulation (polyfill)
Number.isSafeInteger = Number.isSafeInteger || function (value) { return Number.isInteger(value) && Math.abs(value) <= Number.MAX_SAFE_INTEGER; };
Spécifications
Spécification | État | Commentaires |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262) La définition de 'Number.isSafeInteger' dans cette spécification. |
Standard | Définition initiale. |
ECMAScript 2017 Draft (ECMA-262) La définition de 'Number.isSafeInteger' dans cette spécification. |
Projet |
Compatibilité des navigateurs
Fonctionnalité | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Support simple | (Oui) | 32 (32) | Pas de support | (Oui) | 10.0 |
Fonctionnalité | Android | Chrome pour Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Support simple | Pas de support | Pas de support | 32.0 (32) | Pas de support | Pas de support | Pas de support |
Voir aussi
- L'objet
Number
auquel appartient cette méthode Number.MIN_SAFE_INTEGER
Number.MAX_SAFE_INTEGER
Étiquettes et contributeurs liés au document
Étiquettes :
Contributeurs à cette page :
SphinxKnight
Dernière mise à jour par :
SphinxKnight,