将大字符串转换为数字时,我注意到第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