83

我有两个 CGFloat 值,并且想要计算模结果。或者换句话说:我想知道如果 valueA 尽可能多地放入 valueB 中还剩下什么。

所以我只是尝试:

CGFloat moduloResult = valueB % valueA;

编译器抱怨 % 并告诉我:“二进制 % 的操作数无效”。任何想法?

4

2 回答 2

205

% 代表intor long,不代表floator double

您可以使用fmod()or fmodf()from<math.h>代替。

更好的是CGFloat 的发明者<tgmath.h>所建议的。

于 2009-08-13T10:13:56.320 回答
11

如果我没记错的话,模需要 2 个整数作为输入,所以你需要类似的东西:

CGFloat moduloResult = (float)((int)valueB % (int)valueA);

假设 valueB 和 valueA 都是浮点数

于 2009-08-13T10:14:11.203 回答