知识卡片

浮点比较要避等号

专业/工作 · 470.b.1.a.1.c.3.a.6.a

内容

float32/float64 精度有限,直接用 ==!= 比较计算结果容易误判。发散:浮点数表达的是近似值,业务判断也应设计容差。

参考来源

- 位置:《Go语言入门到实战(共3册)》第13章《Go语言编程入门与实战技巧:第3章 基础数据类型》(源文件:_epub-src/text/part0025_split_000.html) - 结论依据:原文围绕“比较浮点数时需要特别注意”给出定义、机制、流程、对比或限制条件,本卡片据此提炼可迁移的语言/工程结论,并补充了边界或实践启发。 - 原始内容:由于精度不同的缘故,在使用==或者!=来比较浮点数时需要特别注意,事先测试运算可以避免不少问题。