How to Get the Last Digit of an Integer in Ruby?

In Ruby, you can get the last digit of an integer in the following ways:

Using `Numeric#remainder()`

You can use the `Numeric#remainder()` method to get the last digit of an integer, for example, like so:

```def last_digit(num)
num.remainder(10)
end

puts last_digit(0) #=> 0
puts last_digit(1234) #=> 4
puts last_digit(-1234) #=> -4
```

Using the `Numeric#remainder()` method is equivalent to doing the following:

```def last_digit(num)
num - (10 * (num.to_f / 10).truncate)
end

puts last_digit(0) #=> 0
puts last_digit(1234) #=> 4
puts last_digit(-1234) #=> -4
```

Converting the number to float (using `Integer#to_f`) is important, as otherwise Ruby would round the result of division.

This works in the following way:

```# num = 1234

# last_digit = 1234 - (10 * (1234 / 10).truncate)
# last_digit = 1234 - (10 * (123.4).truncate)
# last_digit = 1234 - (10 * 123)
# last_digit = 1234 - 1230
# last_digit = 4
```

Converting to String and Returning Last Character

You could do the following:

1. Convert the integer to a string;
2. Get the last character of the string;
3. Convert the string back to integer;
4. Add negative sign to the last digit if integer was negative.
```def last_digit(num)
num_str = num.to_s
last_char = num_str[-1]
last_digit_unsigned = last_char.to_i

(num < 0) ? -last_digit_unsigned : last_digit_unsigned
end

puts last_digit(0) #=> 0
puts last_digit(1234) #=> 4
puts last_digit(-1234) #=> -4
```

This post was published (and was last revised ) 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.