需要的自行查阅:
相信各位前端小伙伴在日常工作中不免会涉及到使用 JavaScript 处理 数值 相关的操作,例如 数值计算、保留指定小数位、接口返回数值过大 等等,这些操作都有可能导致原本正常的数值在 JavaScript 中确表现得异常(即 精度丢失),这也是被很多开发者诟病的一点(你该不会还没踩过坑吧!),当然包括很多 后端开发者(不止一次的被问到这个问题)。
本文主要包含 精度丢失场景、精度丢失原因、解决方案 等方面的内容,文中若有不正确的地方欢迎在评论区分享你的见解。
数值计算在前端的应用还不算少,但涉及 浮点数 参与计算时可能会出现精度丢失,如下:
JavaScript 计算:0.1 + 0.2 = 0.30000000000000004JavaScript 计算:1 - 0.9 = 0.09999999999999998JavaScript 计算:0.0532 * 100 = 5.319999999999999JavaScript 计算:0.3 / 6 = 0.049999999999999996