node 计算金额总是会有误差,有没有经常用的安全算数模块?

比如
0.1+0.2+0.3+0.4+0.5+0.6+0.7+0.8+0.9+1.0+1.1+1.2+1.3+1.4+1.5+1.6+1.7
结果是
15.299999999999999

看了一篇文章写得可以用add 模块,但是实际操作中不仅仅是加法会有误差,加减乘除感觉好像都会有误差,映像里好像有safe math 之类的模块什么的额,所以请教大神一般都用什么安全计算模块?

阅读 3.9k
3 个回答

如果小数位有最长限制,且不需要计算大数的话,可以先统一转换成整数计算后再转换回去
或者自己写算法,类似这个 https://gist.github.com/Ariex...

浮点数运算就可能出现误差。
所以,一般会把浮点转成整数,运算后再转回浮点。
可以百度一下“浮点运算误差”。

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