In Ruby, you can negate a number (i.e. convert a positive number to negative, and a negative to positive) in the following ways:

## Using Unary Minus Operator

You may negate a number using the unary minus operator (`-`

) like so:

-n

This would convert a positive number to a negative number, and a negative number to a positive number. For example, you can use this in the following way:

def negate(num) -num end puts negate(1234) #=> -1234 puts negate(-1234) #=> 1234

`0`

is a special case, which would *always* return `0`

when negated:

# ... puts negate(0) #=> 0 puts negate(-0) #=> 0

## Using Arithmetic Operators

You may convert a positive number to negative or vice versa by simply multiplying it by `-1`

:

n * -1

Similarly, you may divide the number by `-1`

to achieve the same:

n / -1

Alternatively, you may subtract the number from `0`

:

0 - n

You could use *any* of these to convert a positive number to a negative number and vice versa, for example, like so:

def negate(num) num * -1 end puts negate(1234) #=> -1234 puts negate(-1234) #=> 1234

def negate(num) num / -1 end puts negate(1234) #=> -1234 puts negate(-1234) #=> 1234

def negate(num) 0 - num end puts negate(1234) #=> -1234 puts negate(-1234) #=> 1234

In any case, `0`

would *always* return `0`

when negated:

# ... puts negate(0) #=> 0 puts negate(-0) #=> 0

This post was published by Daniyal Hamid. Daniyal currently works as the Head of Engineering in Germany and has 20+ years of experience in software engineering, design and marketing. Please show your love and support by sharing this post.