Проблема округления - PullRequest
0 голосов
/ 30 марта 2011

Я хочу округлить число до ближайшего «х». Я пытался

roundedNumber = x * floor(originalNumber / x + 0.5f);

и это похоже на работу в калькуляторе. Но в моем приложении какао оно всегда округляется до 60.

Я делаю очевидную ошибку?

originalNumber и округленноеNumber являются NSIntegers.

Ответы [ 2 ]

1 голос
/ 30 марта 2011

NSInteger по сути является int / long, поэтому попробуйте ввести его с плавающей точкой:

roundedNumber = x * floor(float(originalNumber)/x + 0.5f);

Еще лучше использовать round ():

roundedNumber = x * round(float(originalNumber)/x);
0 голосов
/ 30 марта 2011

попробуйте округленный номер = х * этаж ((исходный номер / х) + 0,5f); и округленный номер = x * floor (originalNumber / (x + 0.5f));

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...