如何查看字符串是否为数字?

时间:2012-02-27 17:43:47

标签: ruby ruby-on-rails-3.1

我有字符串"08",我想知道这个字符串是否是数字。我怎么能在Rails 3.1中做到这一点?

3 个答案:

答案 0 :(得分:4)

另一种方法是将它留给ruby来确定它:

begin
    Float(string)
    # String is numeric
rescue ArgumentError, TypeError
    # String is not numeric
end

答案 1 :(得分:3)

您可以使用正则表达式:

str = "08"
if str =~ /^-?(\d+(\.\d+)?|\.\d+)$/
  # string is numeric
else
  # string is not
end

答案 2 :(得分:0)

如果您想验证用户输入,只允许他们输入validates_format_of :string, :with => /[0-9]/之类的数字就好了。