测试string在Ruby on Rails中是否为数字
|
我的应用程序控制器中有以下内容:
def is_number?(object)
true if Float(object) rescue false
end
以及控制器中的以下情况:
if mystring.is_number?
end
条件抛出undefined method
错误。我猜我在错误的位置定义了is_number
...?
没有找到相关结果
已邀请:
12 个回复
超可林
方法。 创建一个辅助方法:
然后这样称呼它:
扩展“ 7”级。 如果希望直接在字符串上调用call4ѭ,而不是将其作为参数传递给助手函数,则需要将then4ѭ定义为
类的扩展,如下所示:
然后可以使用以下命令调用它:
骂狮淋唐便
浮动检查详细信息:
碉罕城爸
悍蕾驮苇袜
旦彤
悸翠疮武昏
- @Jakob S接受的答案在大多数情况下都是有效的,但是捕获异常确实很慢。此外,营救方法在类似“ 1,000”的字符串上失败。 让我们定义方法:
现在,一些测试用例:
和一些代码来运行测试用例:
这是测试用例的输出:
是时候做一些性能基准测试了:
结果:
贡炮逗握惫
笛驮型迸
在你的config / application.rb中
好按紊叉
参数[1]。这使我们能够使用内置方法,而无需将异常用作控制流:
因此,您不必定义自己的方法,而是可以直接检查变量,例如
悍蕾驮苇袜
或者,如果您希望它在所有对象类中都适用,请将
替换为
,并将其转换为字符串:
咖哀烈
所以,
=否
=真
=否
=真
疾很毋悲