前端 JS 经典:小数运算不精确

**原因:**计算机对小数的存储是二进制的,有限位数的二进制做算法得到的是有限位数,无限位数的二进制做运算,得到的是无限位数。

如下:0.5 和 0.25 转二进制是有限位数,0.3 和 0.2 转二进制是无限位数。

javascript 复制代码
(0.5).toString(2); // 0.1

(0.25).toString(2); // 0.01

0.5 - 0.25; // 0.1 - 0.01 = 0.01



(0.3).toString(2); // '0.010011001100110011001100110011001100110011001100110011'

(0.2).toString(2); // '0.001100110011001100110011001100110011001100110011001101'

0.3 - 0.2; // 0.00891089108910891

**解决:**转字符串,然后不同位置做算法。

相关推荐
泡泡鱼(敲代码中)6 小时前
Python语法技术学习笔记
开发语言·笔记·python·学习·pycharm
ynchyong7 小时前
微信小程序启动顺序遇到的一个坑
前端·微信小程序
用户233376852187 小时前
接口卡死排查实录-缺失return的UB死循环
前端·后端
光影少年7 小时前
如何实现RN 多环境、多渠道打包
前端·react native·react.js
hqyjzsb7 小时前
Python 技术人转型 AI:CAIE Level I、Level II 对比怎么选
开发语言·人工智能·python·金融·数据挖掘·数据分析·aigc
闲坐含香咀翠7 小时前
百万行数据透视表,我是怎么把 Vue 响应式开销砍到零的
前端·vue.js·性能优化
xiaopang7 小时前
小红书小组件(miniwidget)开发实战:单页面viewState切换架构
前端
labixiong7 小时前
告别scroll 监听:CSS 滚动驱动动画,主线程堵死也仍跟手
前端·css·html
用户302822530687 小时前
别让 Agent 被 Webhook 叫醒就开工:实现一个幂等启动层
javascript
云析赢指标公式网48 小时前
文华WH6布林轨道均线强弱共振指标公式
前端·算法