开发计算 · Floating Point · 更新于 2026-10-25
浮点数(Floating Point)是什么:定义、公式与实例
定义
IEEE 754 双精度用 64 位存储:1 符号+11 指数+52 尾数,可表示约 15-17 位有效十进制数字,但 0.1 在二进制中是无限循环小数(0.000110011…)——存储时被截断,所以 0.1+0.2=0.30000000000000004。这不是某个语言的 bug,是所有遵循 IEEE 754 的语言(Python/Java/JS/C)共同行为。金融与精确计算三原则:金额用整数(分);比较用容差(|a-b|<1e-9 而非 ===);显示用格式化(toFixed 是四舍五入有银行家风险,用 decimal 库)。
公式
值 = (−1)^s × 1.m × 2^(e−1023);0.1 的二进制是循环小数
数值实例
0.1+0.2 = 0.30000000000000004;0.1×3 = 0.30000000000000004;循环累加 0.1 一千次得 99.9999999999986 而非 100。
常见误区
「四舍五入 toFixed(2) 后就精确了」——toFixed 本身在边界(1.005)上因二进制表示而舍错方向;「误差累积到看不见就行」——累加一万次金额后账目可能差一分钱,财务对账立刻爆炸。
配套计算器
相关术语
继续探索
浏览完整术语表,或回到首页使用 1435 款免费在线计算器。
返回术语表