我知道这真的很简单,但我的大脑却没有用。我需要一个C#函数,如果传递给函数的整数有一个负号,则返回-1,如果整数有一个正号,则返回1,如果传递的数是0,则返回0.所以例如:
int Sign=SignFunction(-82); // Should return -1
int Sign2=SignFunction(197); // Should return 1
int Sign3=SignFunction(0); // Should return 0
答案 0 :(得分:41)
这已经在框架中了。只需使用Math.Sign ...
int sign = Math.Sign(-82); // Should return -1
int sign2 = Math.Sign(197); // Should return 1
int sign3 = Math.Sign(0); // Should return 0
此外,它还适用于:
int sign4 = Math.Sign(-5.2); // Double value, returns -1
int sign5 = Math.Sign(0.0m); // Decimal, returns 0
// ....
答案 1 :(得分:7)
int sign = Math.Sign(number);
它已经存在。
答案 2 :(得分:3)
public int SignFunction(int number)
{
return number.CompareTo(0);
}
答案 3 :(得分:3)
public int SignFunction( int input )
{
if( input < 0 ) return -1;
if( input > 0 ) return 1;
return 0;
}
答案 4 :(得分:3)
return input.CompareTo(0);
答案 5 :(得分:2)
public int SignFunction(int number) {
return (number > 0) ?
1 : (number < 0) ?
-1 : number;
}
答案 6 :(得分:1)
如果Math.Sign
不存在,我会这样做:
return x == 0 ? 0 : x / Math.Abs(x);
答案 7 :(得分:0)
public int Sign(int number)
{
if(number==0)
return 0;
return number/Math.Abs(number);
}