首页 > 解决方案 > 在 Javascript 中递增 MAX_SAFE_INTEGER

问题描述

如何解释我得到的结果在前两次计算中以 92 结尾,在第三次计算中以 94 结尾?

    console.log(Number.MAX_SAFE_INTEGER + 1); //...92
    console.log(Number.MAX_SAFE_INTEGER + 2); //...92
    console.log(Number.MAX_SAFE_INTEGER + 3); //...94

标签: javascriptdata-structures

解决方案


基于 Number.MAX_SAFE_INTEGER,这是您安全计算中的最大整数,任何大于此的数字都是不安全的。

编辑

对于大于Number.MAX_SAFE_INTEGER使用BigInt,例如:

BigInt(Number.MAX_SAFE_INTEGER) + BigInt(2)

 alert(BigInt(Number.MAX_SAFE_INTEGER) + BigInt(1)); //9007199254740992n
 alert(BigInt(Number.MAX_SAFE_INTEGER) + BigInt(2)); //9007199254740993n
 alert(BigInt(Number.MAX_SAFE_INTEGER) + BigInt(3)); //9007199254740994n


推荐阅读