将正数转换为负数 - iOS

时间:2015-04-09 11:13:23

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

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

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()的方法,但据我所知它不安全吗?

谢谢你的时间,Dan。

4 个答案:

答案 0 :(得分:5)

请查看您的代码,然后将其归结为:

 // 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 - 分支内的语句都是相同的。所以你可以写:

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

如果考虑到-0为0,则可以删除整个if

number = (0 - number);

另外你可以写,......

number = -number

......也可以使用其他答案所预期的乘法。

答案 1 :(得分:2)

只需使用

int number;

number *= -1;

答案 2 :(得分:-1)

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

答案 3 :(得分:-1)

这似乎也有效:

-(number)