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

Number.isSafeInteger() - JavaScript | MDN

Esta pgina ha sido traducida del ingls por la comunidad. Aprende ms y nete a la comunidad de MDN Web Docs.

View in English Always switch to English

Number.isSafeInteger()

Baseline Widely available

This feature is well established and works across many devices and browser versions. Its been available across browsers since septiembre de 2015.

El mtodo Number.isSafeInteger() determina si el valor provisto es un nmero que es un entero seguro.

In this article

Prubalo

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

Un entero seguro es un entero que

  • puede ser exactamente representado como un nmero IEEE-754 de doble presicin, y
  • su representacin IEEE-754 no puede ser el resultado de redondear cualquier otro entero para adaptarse a la representacin de IEEE-754.

Por ejemplo, 253 - 1 es un entero seguro: puede ser exactamente representado y ningn 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-ms-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 ms grandes o ms pequeos que ~9 cuatrillones con presicin completa requiere usar una biblioteca de artimtica de presicin arbitraria. Ver Lo que todo programador necesita saber sobre aritmtica de punto flotante para ms informacin sobre representaciones de punto flotante de los nmeros.

Sintaxis

Number.isSafeInteger(valorDePrueba)

Parmetros

valorDePrueba

El valor a probar si es un entero seguro.

Valor de retorno

Un Boolean que indica si el valor dado es un nmero que es entero seguro.

Ejemplos

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

Polyfill

js
Number.isSafeInteger =
  Number.isSafeInteger ||
  function (value) {
    return (
      Number.isInteger(value) && Math.abs(value) <= Number.MAX_SAFE_INTEGER
    );
  };

Especificaciones

Specification
ECMAScript 2027 LanguageSpecification
# sec-number.issafeinteger

Compatibilidad con navegadores

Ver tambin


Web Proxy Viewer  |  New URL  |  Original Page