javascript - Number.prototype.toString() 因大数而损坏
问题描述
我想将整数转换为具有特定基数的数字。在这种情况下,它是 36。
因此,正如文档所述,我这样做了myNumber.toString(36)
。
结果如下:
console.log((12345678901234566).toString(36));
console.log((12345678901234567).toString(36));
console.log((12345678901234568).toString(36));
console.log((12345678901234569).toString(36));
console.log((12345678901234570).toString(36));
console.log((12345678901234571).toString(36));
如您所见,由于输出不是唯一的,因此有些问题。
根据我的发现Number.MAX_SAFE_INTEGER = 9007199254740991
,我的数字超过了这个值,所以我相信这就是它被区别对待的原因
遗憾的是,文档中的任何地方都没有说明存在一些界限。也许这是常识,我不知道。
任何想法如何解决这个问题以获得更大的数字?
解决方案
推荐阅读
- r - 如何在矩阵上循环操作?
- javascript - 大型 mailto 链接无法在 Chrome 中打开
- javascript - 当我们提到(@)机器人时,如何使 Discord.js 机器人响应本地图片?
- r - 按名称减去数据框的列
- variables - 为什么一个子程序的变量正在访问另一个子程序的值?
- python - 尝试将歌曲添加到使用 spotify api 时收到 404
- react-native - 如何在 React-Native 中进行 API 登录认证
- swift - 听写后用三指点击执行撤消时应用程序崩溃
- json - Flutter应用程序中的Json解析花费了太多时间
- c# - 当连续询问两个具有多提示答案的问题并且 rankerType 为“questionOnly”时,QnAMaker 不返回任何答案