Код, кажется, работает правильно,
Вы уверены, что сравнение подтверждает истинность?
Быстрый фрагмент:
for(int i=0;i<10;i++){
float value = (arc4random()%100)/(float)100.0f;
NSLog(@"%f",value);
if(value < 0.01f) {
NSLog(@"YES");
} else {
NSLog(@"NO");
}
}
Вывод:
0.520000
NO
0.520000
NO
0.100000
NO
0.000000
YES
0.390000
NO
0.690000
NO
0.770000
NO
0.930000
NO
0.320000
NO
0.230000
NO
EDIT - Ответ на комментарий:
В моем случае точки останова работают правильно: