【发布时间】:2020-11-20 18:25:44
【问题描述】:
例如,我有一个像 BigInt(714782523241122198) 这样的长整数,是否可以将其转换为字符串而不会丢失任何数字?我想在本地做。
【问题讨论】:
标签: javascript bigint
例如,我有一个像 BigInt(714782523241122198) 这样的长整数,是否可以将其转换为字符串而不会丢失任何数字?我想在本地做。
【问题讨论】:
标签: javascript bigint
您必须在数字后加上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
【讨论】: