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) を使いましょう。