Использование оператора мод в приложении iOS - PullRequest
8 голосов
/ 17 сентября 2010

У меня есть NSTimeInterval, который хранится как двойной. Я хотел бы получить количество минут, которые находятся вне второго значения, используя оператор%.

minutes = secondValue % 60;

, где минуты объявлены как double minutes

В результате XCode сообщает "Недопустимые операнды для двоичного%"

Мысли

Ответы [ 3 ]

13 голосов
/ 17 сентября 2010

Из стандарта C, раздел 6.5.5 Мультипликативные операторы , параграф 2:

Операнды оператора % должны иметь целочисленный тип.

12 голосов
/ 17 сентября 2010

ОП изменил свой вопрос, поэтому вот мой новый ответ:

Вы хотите сделать minutes = floor(secondsValue) / 60; Вы хотите деление int, а не модуль.

4 голосов
/ 17 сентября 2010

Если secondValue - число с плавающей запятой или двойное число, вы можете использовать приведение типа C:

minutes = ((int)secondValue) % 60;

EDIT:

(Если secondValue слишком велико, чтобы поместиться в int, это не сработает. Поэтому вы должны знать, что диапазон вашего значения соответствует)

...