【问题标题】:Convert positive number to a negative number - iOS将正数转换为负数 - iOS
【发布时间】:2015-06-14 17:28:09
【问题描述】:

我有一个带有整数的简单应用程序。我想检查整数中的值,如果它是正值,则将其从正值更改为负值。我还希望它检查整数是否为负数,如果当前为负数,则将其更改为正数。下面的代码是我想到的:

int number;

// number gets set.... etc...

// Now do number check.
if (number > 0) {
    number = (0 - number);
}

else if (number < 0) {

    // Since number is negative, lets try to
    // minus minus the number and make it positive.
    number = (0 - number);
}

我的问题是,我的方法是否正确,更重要的是实现此功能的好方法?我读到您可以使用一种名为abs() 的方法,但据我了解它不安全?

感谢您的宝贵时间,丹。

【问题讨论】:

  • 对我来说似乎很好。除非您进行数千次转换,否则尝试优化它没有多大意义。 (0 - number) 可以只替换为 -number。
  • 嗯...number = -number;number *= -1; ?

标签: ios objective-c cocoa-touch numbers integer


【解决方案1】:

这似乎也有效:

-(number)

【讨论】:

    【解决方案2】:

    你可以写 int myNum *= -1;它会将您的 num 更改为负数。

    【讨论】:

      【解决方案3】:

      看看你的代码,让我们把它归结为:

       // Now do number check.
      if (number > 0) 
      {
        number = (0 - number);
      }
      else if (number < 0) 
      {
        // Since number is negative, lets try to
        // minus minus the number and make it positive.
        number = (0 - number);
      }
      

      显然if-branch 中的语句是相同的。所以你可以写:

      // Now do number check.
      if (number > 0 || number < 0)  // || means logical or
      {
        number = (0 - number);
      }
      

      如果考虑到-0就是0,可以去掉整个if

      number = (0 - number);
      

      另外你可以写,……

      number = -number
      

      ……也可以使用其他答案的乘法。

      【讨论】:

        【解决方案4】:

        简单使用

        int number;
        
        number *= -1;
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-12-13
          • 1970-01-01
          • 1970-01-01
          • 2011-04-20
          • 2014-03-20
          • 1970-01-01
          相关资源
          最近更新 更多