Javascript 将字符串转换为整数BigInt

Javascript 将字符串转换为整数BigInt,javascript,numbers,integer,rounding,bigint,Javascript,Numbers,Integer,Rounding,Bigint,这可能是一个反复出现的问题。 我需要将字符串转换为整数。但JS做到了这一点: parseInt(“216676952358020110”)⇒ 216676952358020000 我知道为什么会这样,但如何正确地将字符串转换为整数呢? BigInt()不适合我的情况。由于您的数字高于数字。MAX\u SAFE\u INTEGER,因此无法直接将字符串转换为数字而不会出现错误 我建议你使用已经为此目的建立的图书馆 const BN = require('bn.js'); const number

这可能是一个反复出现的问题。 我需要将字符串转换为整数。但JS做到了这一点:
parseInt(“216676952358020110”)⇒ 216676952358020000

我知道为什么会这样,但如何正确地将字符串转换为整数呢?
BigInt()
不适合我的情况。

由于您的数字高于
数字。MAX\u SAFE\u INTEGER
,因此无法直接将字符串转换为数字而不会出现错误

我建议你使用已经为此目的建立的图书馆

const BN = require('bn.js');

const number = new BN('2166767952358020110', 10);

关于BigInt(“2166767952358020110”)呢?这能回答你的问题吗?数字太大…JavaScript中的普通数字总是64位浮点值。value Number.MAX\u SAFE\u INTEGER告诉您可表示的最大整数值,它小于您的值。在现代JavaScript环境中,您可以使用
BigInt(yourString)
生成一个“大整数”值。JS中有一个非常著名的大数字实现,名为“bn.JS”…嗨!感谢您的回答,我尝试了您的解决方案,它返回“1e11e7f8ff00140e”。。似乎我不能得到53位以上的纯整数你永远不会有一个超过限制的纯整数,但是bignumber为你提供了一些帮助来执行你期望的计算