【问题标题】:If Statement conditioningIf 语句条件
【发布时间】:2012-02-17 15:41:11
【问题描述】:

好的,这有点疯狂,但我整天都在敲我的头,一定有更简单的方法!

我有 2 个值,我想将这些值相互测试,但它们之间可能存在 + 或 - 10 的差异,这是可以接受的。

我一直在想的是,我必须写一个巨大的声明,里面有很多 OR,即

if (red = red1) || (red == red1 + 1) || (red == red1 + 2) etc.....

请有人让我摆脱痛苦并告诉我有更简单的方法!!!

【问题讨论】:

    标签: xcode if-statement


    【解决方案1】:

    检查两个数之差的绝对值是否小于10。

    if (abs(red - red1) <= 10)
        ...
    

    【讨论】:

      【解决方案2】:

      简单:假设这些是整数值:

      if (abs(red - red1) <= 10) {
      }
      

      如果你有浮点值:

      if (fabs(red - red1) <= 10.0) {
      }
      

      根据值的类型,还有其他几个可用的绝对值函数。请参阅this SO answer 了解更多信息

      【讨论】:

      • 从他对.. red == red1 + 1 .. 的尝试来看,它们是整数。
      • @aioobe - 我同意,这就是为什么我投票赞成你的答案。但似乎也有可能这是由一位经验不足的开发人员提出的,他可能会尝试使用“red + 1”,即使 red 不是整数。
      • 嗨,我传递的是一个整数 :)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-28
      • 2010-09-07
      • 2014-05-31
      相关资源
      最近更新 更多