js 中使用 float 浮点数类型,会发现运算时结果表示出人意料
问题现象
2.4 - 2.25
> 0.1499999999999999
0.1 + 0.2
> 0.30000000000000004
看来这是一个经典的问题。
解决方法一
转换成整数进行计算
(2.4 * 100 - 2.25 * 100) / 100
> 0.15
解决方法二
如果计算不求精确,四舍五入即可
(0.1 + 0.2).toFixed(2)
> "0.30"
方案一的漏洞
2.3 * 100
> 229.99999999999997
2.3 * 10
> 23
parseInt((2.3 * 100).toFixed(0))
> 230
2.3 乘以 100 会颠覆你的认知,所以四舍五入是最保险的做法。
参考
https://blog.csdn.net/daguanjia11/article/details/48650711
微信关注我哦 👍
我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式