JS中小数保留的问题(处理循环浮点数的方法)
首先,我们知道计算机是做二进制运算的,因此我们将十进制的数转化成二进制,最后二进制运算完再转化成十进制是有精度丢失的。
例如
- 0.1 + 0.7 = 0.799999999999999
解决方法:
主动保留n为小数,得到数据类型是字符
- ` num = num.toFixed(n);
- 转成数值
- ` num = Number(num);
因此我建议num=Number(num.toFixed(n));
首先,我们知道计算机是做二进制运算的,因此我们将十进制的数转化成二进制,最后二进制运算完再转化成十进制是有精度丢失的。
例如
- 0.1 + 0.7 = 0.799999999999999
解决方法:
主动保留n为小数,得到数据类型是字符
- ` num = num.toFixed(n);
- 转成数值
- ` num = Number(num);
因此我建议num=Number(num.toFixed(n));
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步