Nobita Nobita - 1 year ago 83
Ruby Question

Difference between Integer(value) and value.to_i

Given a string object like this:

twohundred = "200"

What is the difference between doing:

Integer(twohundred) #=> 200


twohundred.to_i #=> 200

Is there any difference? Is it recommended to use one among the other one?

Answer Source

Integer(num) will throw an ArgumentError exception if num isn't a valid integer (you can specify the base).

num.to_i will convert as much as it can.

For example:

#=> 2

#=> throws ArgumentError

#=> 0

#=> throws ArgumentError

#=> 2

#=> throws ArgumentError