[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/Number/isSafeInteger [Back]  [Original]

Number.isSafeInteger() - JavaScript | MDN

Cette page a t traduite partir de l'anglais par la communaut. Vous pouvez contribuer en rejoignant la communaut francophone sur MDN Web Docs.

View in English Always switch to English

Number.isSafeInteger()

Baseline Large disponibilit

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).

Dans cet article

Exemple interactif

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.

Syntaxe

js
Number.isSafeInteger(valeurTester);

Paramtres

valeurTester

La 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).

Valeur de retour

Un boolen qui indique si la valeur fournie en argument est un entier reprsentable correctement en JavaScript.

Description

Un entier correctement reprsentable en JavaScript :

  • peut exactement tre reprsent avec un nombre prcision double selon IEEE-754
  • la rprsentation IEEE-754 du nombre ne permet pas de l'arrondir un autre entier pouvant tre reprsent avec le format dcrit par IEEE-754.

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 ].

Exemples

js
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

Spcifications

Spcification
ECMAScript 2027 LanguageSpecification
# sec-number.issafeinteger

Compatibilit des navigateurs

Voir aussi


Web Proxy Viewer  |  New URL  |  Original Page