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

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

相关推荐
geovindu6 分钟前
rust: Chain of Responsibility Pattern
开发语言·后端·设计模式·rust·责任链模式·行为模式
m0_587383006 分钟前
碰碰好评卡功能落地全流程实战指南 附核心逻辑与常见问题解决方案
java·前端·数据库·后端·struts·需求分析
子轩学长说7 分钟前
Workbuddy独立文件浏览器新上线,彻底告别WPS和office全家桶~
前端
nyaomaru8 分钟前
如何用 Jev 从 PR 中提取 “Why” 并写入 CHANGELOG?🤔
前端·typescript
Shirley~~8 分钟前
从0搭建一个3D立体场景:光影与交互全解析
前端·3d
阿里嘎多学长9 分钟前
2026-10-14 GitHub 热点项目精选
开发语言·程序员·github·代码托管
迪康coolmu9 分钟前
迪康Defender网络准入控制系统落地实战:部署、配置与问题排查记录
运维·开发语言·网络·经验分享·php
Dovis(誓平步青云)9 分钟前
一年1956亿行:智能电表场景下的时序数据存储实践
运维·前端·自动化·音视频·prometheus
兰亭妙微UI设计公司9 分钟前
兰亭妙微分享:高手设计登录页的12种切入点
开发语言·前端·javascript
木由里予11 分钟前
3D NAND 闪存的可靠性
开发语言·嵌入式硬件