如何在不损失精度的情况下用JavaScript打印BigInt



例如,我有一个像BigInt(714782523241122198(这样的长整数,是否可以在不丢失任何数字的情况下将其转换为字符串?我想自己做。

你必须在数字后面放一个n,或者把它放在引号里,因为(正如目前所写的(你有一个数字,它大于JavaScript中可表示的最大数字2^53或9007199254740992。

console.log(BigInt(714782523241122198).toLocaleString())
console.log(BigInt("714782523241122198").toLocaleString())
console.log((714782523241122198n).toLocaleString())

需要明确的是,你目前正在做的相当于:

const x = 714782523241122198
// x has already lost precision!
const y = BigInt(x);
// y was created with an imprecise number

最新更新