将大字符串转换为数字时,我注意到第15位数字后有一个舍入。有没有一种方法可以将字符串转换为数字而不用四舍五入到JS中,而不管其长度如何?

Number("9223372036854775807")
// returns  9223372036854776000

+"9223372036854775807"
// returns  9223372036854776000

"9223372036854775807"*1
// returns  9223372036854776000

最佳答案

您可以使用BigInt对象,该对象最多可以容纳2^53 - 1个数字。

let hugeString = BigInt("9223372036854775807")
console.log(hugeString);
// outputs: 9223372036854775807n

10-08 19:15