"1252875898672603173"
如下的一个超长字符串,大概19位,现在已知因为IEEE754精度问题,js安全数范围最大表示到2的53次方,在使用Number、parseFloat这些都无用的情况下(最后两位都会变成00),请教下如果把如上19位字符串完美转换成数值
"1252875898672603173"
如下的一个超长字符串,大概19位,现在已知因为IEEE754精度问题,js安全数范围最大表示到2的53次方,在使用Number、parseFloat这些都无用的情况下(最后两位都会变成00),请教下如果把如上19位字符串完美转换成数值
啥叫“完美转换成数值”?
如果你指的是转换为 Number
类型,那么就不可能完美,原因你自己已经说了。
这种大数你只能转换为 BigInt
类型来处理。
let num = BigInt('1252875898672603173');
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
你可以试试 big.js 这个库