Coder Perfect

In C#, how do I determine whether an integer is positive or negative?

Problem

In C#, how do I determine whether an integer is positive or negative?

Asked by user9969

Solution #1

bool positive = number > 0;
bool negative = number < 0;

Answered by Simon Fischer

Solution #2

Of course, no one has supplied the correct response.

num != 0   // num is positive *or* negative!

Answered by tjm

Solution #3

OVERKILL!

public static class AwesomeExtensions
{
    public static bool IsPositive(this int number)
    {
        return number > 0;
    }

    public static bool IsNegative(this int number)
    {
        return number < 0;
    }

    public static bool IsZero(this int number)
    {
        return number == 0;
    }

    public static bool IsAwesome(this int number)
    {
        return IsNegative(number) && IsPositive(number) && IsZero(number);
    }
}

Answered by hunter

Solution #4

One option is to use the Math.Sign technique. For negative numbers, it will return -1, for positive numbers, 1 and for zero values, it will return 0. (i.e. zero has no sign). If a double or single precision variable equals NaN, an exception (ArithmeticException) will be thrown.

Answered by gnovice

Solution #5

num < 0 // number is negative

Answered by Lou Franco

Post is based on https://stackoverflow.com/questions/4099366/how-do-i-check-if-a-number-is-positive-or-negative-in-c