0.1+0.2 为什么不等于0.3
在 JavaScript 中,0.1 和 0.2 都是小数,它们实际的二进制表示时可能是无限循环或者近似值的。而当两个近似值的小数进行数值计算时,由于数值的精度只有 53 位,会产生舍入误差,从而导致计算结果不准确。
例如,在 JavaScript 中执行 0.1 + 0.2
的运算,可能得到的结果是 0.30000000000000004,而不是 0.3。这是由于 Number 类型的数据在 JavaScript 中使用 IEEE-754 标准的双精度浮点数进行存储和计算,在处理小数时可能发生舍入误差,造成结果不准确。
为了避免这种情况,解决方案可以使用 toFixed()
方法对结果进行精度格式化,例如:
const result = (0.1 + 0.2).toFixed(2); // 0.30
该方法将结果保留两位小数并返回一个字符串类型的结果,可以解决精度问题。
forever young
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?