I have two CGFloat values, and want to calculate the modulo result. Or in other words: I want to know what's left if valueA is placed as much as possible into valueB.
So I just tried:
CGFloat moduloResult = valueB % valueA;
the compiler complains about the % and tells me: "invalid operands to binary %". Any idea?
mouviciel
% is for int or long, not float or double.
You can use fmod() or fmodf() from <math.h> instead.
Better is <tgmath.h> as suggested by the inventor of CGFloat.
If I remember correctly modulo requires 2 ints as its input so you'd need something like:
CGFloat moduloResult = (float)((int)valueB % (int)valueA);
Assuming that valueB and valueA are both floats
来源:https://stackoverflow.com/questions/1271102/how-to-make-a-modulo-operation-in-objective-c-cocoa-touch