【发布时间】:2020-11-21 19:28:47
【问题描述】:
我目前正在编写一段使用 base 36 编码的 JavaScript。
我遇到了这个问题:
parseInt("welcomeback",36).toString(36)
似乎返回"welcomebacg"。
我在 Chrome 开发者控制台和 Node.js 中对此进行了测试,结果相同。
这个结果有什么合乎逻辑的解释吗?
【问题讨论】:
-
我的第一个想法是因为解析的值超过了
number可以准确表示的最大可能值(2^53,但是你的值是36^11的顺序)尝试使用较新的BigInt类型而不是number。 -
@Dai Yup。 Parseint 给出
118479146750471970,大于Number.MAX_SAFE_INTEGER
标签: javascript node.js google-chrome-devtools base base36