小小张说故事
Python 的 0.1 + 0.2 为什么不等于 0.3?拆开 IEEE 754 与那串死循环小数
原创
关注作者
腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
小小张说故事
社区首页
>
专栏
>
Python 的 0.1 + 0.2 为什么不等于 0.3?拆开 IEEE 754 与那串死循环小数
Python 的 0.1 + 0.2 为什么不等于 0.3?拆开 IEEE 754 与那串死循环小数
小小张说故事
关注
发布于 2026-11-03 21:06:58
发布于 2026-11-03 21:06:58
12
0
举报
概述
0.1+0.2 不等于 0.3 不是 Python 的 bug:二进制装不下 0.1 这个无限循环小数,52 位尾数只能截断。本文用 float.hex、Decimal、100 万次累加实测,讲清误差怎么攒到 1.33e-6,以及 isclose / Decimal / Fraction 三种正确解法
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系
cloudcommunity@tencent.com
删除。
python
目录
一、0.1 在内存里根本不是 0.1
二、误差会累积,而且藏得很深
三、round 也不是你以为的那个 round
四、怎么办:三种正确的姿势
五、一句话记住
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档