错误:二进制表达式的操作数无效('浮动'浮动')

时间:2014-03-21 23:06:49

标签: objective-c

我试图验证除渣。这是我的代码:

NSUInteger myNumber = 2;
//  list is a NSArray

if ((arrayImg.count / ((float) imgPerPage)) % 1 >0)
{
 // do something
}

但是我收到了这个错误:

  

错误:二进制表达式的操作数无效('浮动'浮动')

如果我这样做:

float result = (arrayImg.count / ((float) imgPerPage));

工作正常,但我不明白为什么我使用%1我得到错误。

你们中的任何人都知道我的代码有什么问题吗?

我真的很感谢你的帮助

1 个答案:

答案 0 :(得分:6)

您只能将模运算符(%)与整数操作数一起使用,因此请先将浮点表达式转换回整数。此外,您似乎正在尝试测试奇数/偶数,因此您需要% 2,而不是% 1。所以改变:

if ((arrayImg.count / ((float) imgPerPage)) % 1 >0)

为:

if (((int)(arrayImg.count / (float) imgPerPage)) % 2 > 0)