--- title: Number.isSafeInteger() slug: Web/JavaScript/Referencia/Objetos_globales/Number/isSafeInteger tags: - ECMAScript6 - JavaScript - Number - metodo translation_of: Web/JavaScript/Reference/Global_Objects/Number/isSafeInteger ---
El método Number.isSafeInteger()
determina si el valor provisto es un número que es un entero seguro.
Un entero seguro es un entero que
Por ejemplo, 253 - 1
es un entero seguro: puede ser exactamente representado y ningún otro entero puede ser redondeado a él bajo cualquier modo de redondeo de IEEE-754. En contraste, 253
no es un entero seguro, puede ser exactamente representado en IEEE-754, pero el entero 253 + 1
no puede ser directamente representado en IEEE-754 pero en su lugar, redondea a 253
bajo los modos de redondeo redondeo-al-más-cercano y redondeo-a-cero. Los enteros seguros consisten en todos los enteros desde -(253 - 1)
inclusivo, hasta 253 - 1
inclusivo (± 9007199254740991
o ± 9,007,199,254,740,991).
Manejar valores más grandes o más pequeños que ~9 cuatrillones con presición completa requiere usar una biblioteca de artimética de presición arbitraria. Ver Lo que todo programador necesita saber sobre aritmética de punto flotante para más información sobre representaciones de punto flotante de los números.
Number.isSafeInteger(valorDePrueba)
valorDePrueba
Un {{jsxref("Boolean")}} que indica si el valor dado es un número que es entero seguro.
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
Number.isSafeInteger = Number.isSafeInteger || function (value) { return Number.isInteger(value) && Math.abs(value) <= Number.MAX_SAFE_INTEGER; };
Especificación | Estatus | Comentario |
---|---|---|
{{SpecName('ES2015', '#sec-number.issafeinteger', 'Number.isSafeInteger')}} | {{Spec2('ES2015')}} | Definición inicial. |
{{SpecName('ESDraft', '#sec-number.issafeinteger', 'Number.isSafeInteger')}} | {{Spec2('ESDraft')}} |
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
{{Compat("javascript.builtins.Number.isSafeInteger")}}