我正在尝试将此“ 9876543210223023”转换为以字符串形式接收的整数。我使用了parseInt,但将其转换为9876543210223024。 这导致我的验证失败。 请提出转换后该值如何保持不变。
答案 0 :(得分:1)
9876543210223023大于9007199254740991,即Number.MAX_SAFE_INTEGER
。
JavaScript具有数字类型,其内部为 64位浮点数。
如果范围太大,则计算机Episilon太大,并且数字四舍五入到最接近的可表示数字,在这种情况下为9876543210223024。
如果要处理此大小的数字,则需要biginteger library。
如果您的浏览器足够现代(又名Chrome / Chromium),则可能已经内置了“ BigInteger”类型。
在这种情况下:BigInt("9876543210223023", 10)
否则,链接的BigInt库将充当polyfill。