我有两个 CGFloat 值,并且想要计算模结果。或者换句话说:我想知道如果 valueA 尽可能多地放入 valueB 中还剩下什么。
所以我只是尝试:
CGFloat moduloResult = valueB % valueA;
编译器抱怨 % 并告诉我:“二进制 % 的操作数无效”。任何想法?
% 代表int
or long
,不代表float
or double
。
您可以使用fmod()
or fmodf()
from<math.h>
代替。
更好的是CGFloat 的发明者<tgmath.h>
所建议的。
如果我没记错的话,模需要 2 个整数作为输入,所以你需要类似的东西:
CGFloat moduloResult = (float)((int)valueB % (int)valueA);
假设 valueB 和 valueA 都是浮点数