Насколько опасно сравнивать значения с плавающей запятой?
я знаюUIKit
использованияCGFloat
из-за разрешения независимой системы координат.
Но каждый раз, когда я хочу проверить, если, например,frame.origin.x
является0
меня тошнит
<code>if (theView.frame.origin.x == 0) { // do important operation } </code>
Isn & APOS; тCGFloat
уязвимы для ложных срабатываний при сравнении с==
, <=
, >=
, <
, >
?
It is a floating point and they have unprecision problems: 0.0000000000041
например.
ЯвляетсяObjective-C
обрабатывая это внутренне при сравнении или может случиться так, чтоorigin.x
который читается как ноль, не сравнивается с0
как правда?