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:
"2hi".to_i
#=> 2
Integer("2hi")
#=> throws ArgumentError
"hi".to_i
#=> 0
Integer("hi")
#=> throws ArgumentError
"2.0".to_i
#=> 2
Integer("2.0")
#=> throws ArgumentError