【发布时间】:2014-09-26 14:08:55
【问题描述】:
我认为这会更容易找到,但我很惊讶它不是。
到底如何测试字符串是否是模型之外的数字(包括小数)?
例如
is_number("1") # true
is_number("1.234") # true
is_number("-1.45") # true
is_number("1.23aw") #false
在 PHP 中,有 is_numeric,但我似乎在 Ruby(或 Rails)中找不到等价物。
到目前为止,我已经阅读了以下答案,但还没有进一步了解:
【问题讨论】:
-
@JustinWood 那里的解决方案不适用于字符串
-
你为什么不只使用正则表达式?
-
什么例外?
value.to_f永远不应该抛出异常... -
@JustinWood 不幸的是,使用
to_f您无法区分非数字字符串和零:'0'.to_f # => 0.0、'foo'.to_f # => 0.0。
标签: ruby-on-rails ruby