为什么js项目中金额强烈推荐使用分而不是元

相信我们都已经知道在js中浮点数据精度的问题了
看下面的例子

0.1 + 0.2
0.30000000000000004

如何解决呢?
在前后端交互过程中统一使用分为单位进行通讯,在最后的表示层处理为元显示

(10 + 20) / 100
0.3

在分转换为元时,不要使用乘以0.01的方式,而要使用除以100的方式

(800 + 79) * 0.01
8.790000000000001
(800 + 79) / 100
8.79

当然,你也可以说接口返回元,然后前端在运算时,乘以100再运算,也是可以的。但这样处理过于复杂,而且前端不一定会记得先乘以100再运算,容易造成错误。

(0.1 * 100 + 0.2 * 100) * 0.01
0.3

作者:朱鹏飞 加我个人微信(zhupengfeivip)进入郑州IT微信交流群
个人博客:https://zhupengfeivip.github.io/
image.png
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

原文地址:https://www.cnblogs.com/zhupengfei/p/14983162.html