Reputation: 537
I have an NSTimeInterval that is stored as a double. I would like to get the amount of minutes that are inide of the second value using the % operator.
minutes = secondValue % 60;
where minutes is declared as double minutes
The result is that XCode says "Invalid operands to binary %"
Thoughts?
Upvotes: 8
Views: 34482
Reputation: 3664
The OP changed their question, so here is my new answer:
You want to do minutes = floor(secondsValue) / 60;
You want int division, not modulus.
Upvotes: 12
Reputation: 70703
If secondValue is a float or double, you can use C type casting:
minutes = ((int)secondValue) % 60;
EDIT:
(If secondValue is too big to fit in an int, this won't work. So you need to know that the range of your value is appropriate.)
Upvotes: 4
Reputation: 224962
From the C standard, section 6.5.5 Multiplicative operators, paragraph 2:
The operands of the
%
operator shall have integer type.
Upvotes: 13