Integer(arg)

irb(main):001:0> number_str = '1234'
=> "1234"
irb(main):002:0> Integer(number_str)
=> 1234
irb(main):003:0> number_str.to_i
=> 1234
irb(main):004:0> str1 = 'not a number'
=> "not a number"
irb(main):005:0> Integer(str1)
ArgumentError: invalid value for Integer: "not a number"
        from (irb):5:in `Integer'
        from (irb):5
irb(main):006:0> str1.to_i
=> 0

文字列が数値を意味しない場合の変換で例外を出したい場合は、組み込み関数 Integer(arg) を使いましょう。