两个浮点数做相等比较。以前一直没有怎么在意这个坑。但是现在遇到了:如果两个浮点数相等比较,不能用 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就是可以容忍的精度。你可以调整这个值来决定精确的力度。越小越精确,就越准。
网友评论