Я делаю очень простые вычисления и получаю странный результат, когда сравниваю двойные значения в if.. statement
. См. Прикрепленный скриншот. Получение странного результата в сравнении двойного значения iOS
Я отметил значение переменной красными маркерами. Вы можете видеть, что значение переменной totalSliceValue
равно 100, и когда я сравнил значение с 100.0
, он возвращает TRUE
, но 100 не превышает 100.
Может кто-нибудь объяснить это, почему я получаю это. Есть ли ошибка в моем коде, или это проблема с компилятором.
Заранее благодарен!
Вы уверены, что это не что-то вроде '100.0000001'? Попробуйте следующее: 'NSLog (@" totalSliceValue =% .8f ", totalSliceValue); – rmaddy
@rmaddy: Я пробовал с .8f и получаю «100.00000000». –
Правильно, когда я попытался с .16f и напечатал значение, оно получилось равным 100.0000000000000142. –