| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/Number/isSafeInteger | [Back] [Original] |
Get to know MDN better
Cette page a t traduite partir de l'anglais par la communaut. Vous pouvez contribuer en rejoignant la communaut francophone sur MDN Web Docs.
Cette fonctionnalit est bien tablie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis septembre 2015.
La mthode Number.isSafeInteger() permet de dterminer si la valeur, passe en argument, est un entier reprsentable correctement en JavaScript (c'est--dire un nombre compris entre -(2^53-1) et 2^53-1).
function warn(x) {
if (Number.isSafeInteger(x)) {
return "Precision safe.";
}
return "Precision may be lost!";
}
console.log(warn(Math.pow(2, 53)));
// Expected output: "Precision may be lost!"
console.log(warn(Math.pow(2, 53) - 1));
// Expected output: "Precision safe."
Note :
Pour reprsenter des entiers qui ne sont pas compris dans cet intervalle, on pourra utiliser le type BigInt.
Number.isSafeInteger(valeurTester);
valeurTesterLa valeur dont on souhaite savoir si elle reprsente un entier reprsentable correctement en une valeur non signe sur 32 bits. (JavaScript utilise les nombres au format de virgule flottante double prcision comme spcifi dans IEEE 754 et ne peut reprsenter avec certitude un entier qu'entre -(2^53-1) et 2^53-1 (c'est--dire 9007199254740991).
Un boolen qui indique si la valeur fournie en argument est un entier reprsentable correctement en JavaScript.
Un entier correctement reprsentable en JavaScript :
Ainsi, par exemple, 2^53 - 1 peut tre reprsent correctement, aucun autre entier ne peut tre arrondi en cette valeur selon IEEE-754. En revanche, 2^53 ne peut pas tre reprsent correctement car 2^53 + 1 sera arrondi en 2^53 selon les rgles IEEE-754 (arrondi l'entier le plus proche).
L'intervalle des entiers qui peuvent tre correctement reprsents est [-(2^53 - 1),2^53 - 1 ].
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
| Spcification |
|---|
| ECMAScript 2027 LanguageSpecification # sec-number.issafeinteger |
Number auquel appartient cette mthodeNumber.MIN_SAFE_INTEGERNumber.MAX_SAFE_INTEGERBigIntCette page a t modifie le 17 fvr. 2025 par les contributeurices du MDN.
NumberObject/FunctionObject.prototype.__defineGetter__()Object.prototype.__defineSetter__()Object.prototype.__lookupGetter__()Object.prototype.__lookupSetter__()Object.prototype.hasOwnProperty()Object.prototype.isPrototypeOf()Object.prototype.propertyIsEnumerable()Object.prototype.toLocaleString()Object.prototype.toString()Object.prototype.valueOf()Certaines parties de ce contenu sont protges par le droit d'auteur 19982026 des contributeurs individuels de mozilla.org. Contenu disponible sous une licence Creative Commons.
| Web Proxy Viewer | New URL | Original Page |