Насколько опасно сравнивать значения с плавающей запятой?

я знаю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 как правда?

Ответы на вопрос(10)

Ваш ответ на вопрос