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