ヨーキョクデイ

いろいろ雑食

文字列が整数かどうかを確かめたい 2

今回は 前回のチャレンジ へのコメントを受けて、4.0 みたいな値でも -21.00 みたいな値でも true を返す仕様にしてみた。

class String
  def is_int?
    return /^#{self.to_i}(\.0+)?$/ =~ self ? true : false
  end
end

p "68.03".is_int?   # false
p "4".is_int?       # true
p "hoge".is_int?    # false
p "-301".is_int?    # true
p "4.0".is_int?     # true
p "-21.00".is_int?  # true

正規表現でごにょごにょ。

# シンタックスハイライトが式展開に対応してないっぽいぜ!