如何在不丢失精度的情况下在 JavaScript 中打印 BigInt?
How can I print a BigInt in JavaScript without losing precision?
例如我有一个像 BigInt(714782523241122198) 这样的长整数,是否可以将它转换为字符串而不丢失任何数字?我想原生做。
你必须在数字后面加上一个 n
,或者把它放在引号中,因为(目前所写的)你有一个数字,它大于 [=23= 中可表示的最大数字], 即 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
例如我有一个像 BigInt(714782523241122198) 这样的长整数,是否可以将它转换为字符串而不丢失任何数字?我想原生做。
你必须在数字后面加上一个 n
,或者把它放在引号中,因为(目前所写的)你有一个数字,它大于 [=23= 中可表示的最大数字], 即 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