js数值精度的问题

"1252875898672603173"

如下的一个超长字符串,大概19位,现在已知因为IEEE754精度问题,js安全数范围最大表示到2的53次方,在使用Number、parseFloat这些都无用的情况下(最后两位都会变成00),请教下如果把如上19位字符串完美转换成数值

阅读 1.7k
3 个回答

你可以试试 big.js 这个库

啥叫“完美转换成数值”?

如果你指的是转换为 Number 类型,那么就不可能完美,原因你自己已经说了。

这种大数你只能转换为 BigInt 类型来处理。

let num = BigInt('1252875898672603173');

我觉得得这么看待这个问题。-1是自然数吗?当然不是,圈子不同何必硬融。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题