我试图验证除渣。这是我的代码:
NSUInteger myNumber = 2;
// list is a NSArray
if ((arrayImg.count / ((float) imgPerPage)) % 1 >0)
{
// do something
}
但是我收到了这个错误:
错误:二进制表达式的操作数无效('浮动'浮动')
如果我这样做:
float result = (arrayImg.count / ((float) imgPerPage));
工作正常,但我不明白为什么我使用%1我得到错误。
你们中的任何人都知道我的代码有什么问题吗?
我真的很感谢你的帮助
答案 0 :(得分:6)
您只能将模运算符(%
)与整数操作数一起使用,因此请先将浮点表达式转换回整数。此外,您似乎正在尝试测试奇数/偶数,因此您需要% 2
,而不是% 1
。所以改变:
if ((arrayImg.count / ((float) imgPerPage)) % 1 >0)
为:
if (((int)(arrayImg.count / (float) imgPerPage)) % 2 > 0)