有效地执行多重比较

时间:2013-03-20 12:38:07

标签: objective-c if-statement floating-point

我的Objective-C代码有问题。我想在一个公式中有一个if语句,说明检查条件就好像float等于我定义的其他5个中的一个。但比以下更短更简单:

 if (float1 == float5 || float1 == float2 || float1 == float3 || float1 == float11)
 {
        //something to do
 }

非常感谢您的回答。

1 个答案:

答案 0 :(得分:0)

假设你可以保证float 一个整数,无论​​是定义还是应用roundf(),floorf(),ceilf(),这都是一个可能的解决方案:

const NSUInteger LENGTH = 7;
float myNumbersToCheck[LENGTH] = {1,13,6,8,99,126,459674598};
for (NSUInteger index = 0; index < LENGTH; index++) {
  if (float1 == myNumbersToCheck[index]) {
     // do something
     break;
  }
}