两个浮点数做比较

2016-11-21  本文已影响37人  木马不在转

两个浮点数做相等比较。以前一直没有怎么在意这个坑。但是现在遇到了:如果两个浮点数相等比较,不能用 a == b 这种模式,而只能用 fabs(a-b) < 1e-6 这种方式。这里面的1e-6是表示你可以容忍的精确度。

== : fabs(a-b) < 1e-6
<= : a < b || fabs(a-b) < 1e-6

= : a>b || fabs(a-b) <1e-6
!= :fabs(a-b) > 1e-6

1e-6就是可以容忍的精度。你可以调整这个值来决定精确的力度。越小越精确,就越准。

上一篇下一篇

猜你喜欢

热点阅读