ああごめん、俺勘違いしてた
"300".to_iで"300"を返すようにしたいのかと思ったんだ

で、トムこと>>672のコードでも上手くいくけど
こういう書き方もある↓

class String
 alias to_i_original to_i
 def to_i
  if /^-?\d+$/ =~ self 
   return self.to_i_original
  else
   return self
  end
 end
end