中等JavaScript
0 1

为何JavaScript中0.1+0.2!==0.3,如何让其相等?请说明原因与场景?

【概念释义】

0.1 + 0.2 !== 0.3 因 IEEE 754 双精度浮点无法精确表示 0.1/0.2,累加产生误差。金融场景用整数分decimal 库;比较用 epsilon 容差。

【基础使用】

javascript
0.1 + 0.2; "qb-hl-comment">// 0.30000000000000004
"qb-hl-comment">// 容差比较
function nearlyEqual(a, b, eps = Number.EPSILON) {
  return Math.abs(a - b) < eps;
}
nearlyEqual(0.1 + 0.2, 0.3); "qb-hl-comment">// true
"qb-hl-comment">// 整数方案

登录查看完整 730

回答讨论

暂无讨论,登录后可抢先发言

本题库更多题目(50)