Функция для возврата знака

Я знаю, что это действительно окажется простым, но мой мозг просто не работает. Мне нужна функция в 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
18
задан Icemanind 15 July 2010 в 20:02
поделиться

8 ответов

Это уже в рамках. Просто используйте 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
// ....
41
ответ дан 30 November 2019 в 06:02
поделиться
public int SignFunction(int number) 
{
    return number.CompareTo(0);
}
3
ответ дан 30 November 2019 в 06:02
поделиться
public int SignFunction( int input )
{
    if( input < 0 ) return -1;
    if( input > 0 ) return 1;
    return 0;
}
3
ответ дан 30 November 2019 в 06:02
поделиться
public int SignFunction(int number) {
  return (number > 0) ? 
             1 : (number < 0) ? 
                    -1 : number;
}
2
ответ дан 30 November 2019 в 06:02
поделиться
return input.CompareTo(0);
3
ответ дан 30 November 2019 в 06:02
поделиться
public int Sign(int number)
{
    if(number==0)
       return 0;
    return number/Math.Abs(number);
}
0
ответ дан 30 November 2019 в 06:02
поделиться
int sign = Math.Sign(number);

Он уже существует.

7
ответ дан 30 November 2019 в 06:02
поделиться

Если бы Math.Sign не существовало, я бы сделал следующее:

return x == 0 ? 0 : x / Math.Abs(x);
1
ответ дан 30 November 2019 в 06:02
поделиться