因为浮点数不是一种精确的表达方式,不能像整形一样直接用==来判断两个浮点数是否相等。再就是在某些计算中,会涉及数值的精度。

例如:

直接使用 == 进行比较, 得到的当然会不相等。下面为替代方案:

使用math库中的Dim方法(早期go语言中使用Fdim)来进行浮点数的计算,再判断其差是否小于精度,从而判断两个浮点值是否相等。