0.1+0.2!=0.3

  • https://juejin.cn/post/6927217000112455687
    总结:0.1+0.2不等于0.3,因为在0.1+0.2在计算过程中,二进制浮点数问题发生了精度丢失,只能取到0.30000000000000004
  • 可能导致的问题:浮点数计算不准确,例如300.01-300
  • 解决:“可以用Math.js数学计算库来解决,或者用toFixed()给计算结果四舍五入,但是toFixed()在chrome或者火狐浏览器下四舍五入也有精度误差。可以用Math.round来解决精度误差,比如要把2.55四舍五入保留1位小数,先把2.55∗10得到25.5,再用Math.round取整25.5,会得到26,再把26÷10得到2.6,就这样间接实现了四舍五入。可以用Math.pow来做个简单的封装Math.round(Math.pow(10, m) * number) / Math.pow(10, m),其中number是要四舍五入的数,m是保留几位小数。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值