前端 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

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

相关推荐
YAY_tyy1 小时前
Vue3 + Three.js 实战:自定义 3D 模型加载与交互全流程
前端·javascript·vue.js·threejs
星河耀银海1 小时前
3D效果:HTML5 WebGL结合AI实现智能3D场景渲染
前端·人工智能·深度学习·3d·html5·webgl
英俊潇洒美少年2 小时前
SSE 流式接口讲解
javascript
潜创微科技--高清音视频芯片方案开发6 小时前
2026年C转DP芯片方案深度分析:从适配场景到成本性能的优选指南
c语言·开发语言
Thomas.Sir6 小时前
第三章:Python3 之 字符串
开发语言·python·字符串·string
刘景贤6 小时前
C/C++开发环境
开发语言·c++
美狐美颜sdk6 小时前
从人脸关键点到动态贴图:面具特效在美颜SDK中的实现原理
前端·图像处理·人工智能·直播美颜sdk·美颜api
我命由我123457 小时前
React Router 6 - 编程式路由导航、useInRouterContext、useNavigationType
前端·javascript·react.js·前端框架·html·ecmascript·js
威联通网络存储7 小时前
告别掉帧与素材损毁:威联通 QuTS hero 如何重塑影视后期协同工作流
前端·网络·人工智能·python