我有字符串"08"
,我想知道这个字符串是否是数字。我怎么能在Rails 3.1中做到这一点?
答案 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]/
之类的数字就好了。