Javascript 如何在JS中从Base36转换为Base10

Javascript 如何在JS中从Base36转换为Base10,javascript,base,Javascript,Base,我有一个基本的36号00001CGUMZYCB99J 但如果我尝试用JavaScript将其转换为10进制 parseInt("00001CGUMZYCB99J", 36); 我得到了错误的结果,比如17720700002463650或17720700002463648。预期结果为1772070002463655。我发现有两个网站的结果是正确的:和 但是在JS中如何实现这一点呢?转换的结果超过了(即base-10值太大,无法放入JavaScript整数),这意味着您需要某种任意精度的库来进行转

我有一个基本的36号00001CGUMZYCB99J

但如果我尝试用JavaScript将其转换为10进制

parseInt("00001CGUMZYCB99J", 36);
我得到了错误的结果,比如17720700002463650或17720700002463648。预期结果为1772070002463655。我发现有两个网站的结果是正确的:和


但是在JS中如何实现这一点呢?

转换的结果超过了(即base-10值太大,无法放入JavaScript整数),这意味着您需要某种任意精度的库来进行转换,例如:


JavaScript将所有值存储在一个
双精度
中。因此,较大的数字将改变一些不太重要的数字。如果你想处理大量的数据,你必须使用一个特殊的库,比如

如果使用此库,可以在基之间进行如下转换:

BigInteger.parse("00001CGUMZYCB99J", 36);

请记住,您需要继续使用该库,您无法将其转换回正常数字,否则您将面临相同的问题。

这是一个准确性问题,但我不知道如何用JavaScript解决。
BigInteger.parse("00001CGUMZYCB99J", 36);