我有一个文本字段,用户可以在其中输入数字,并且我希望能够根据用户输入将字符串转换为整数或浮点数。在Ruby中有一种简单的方法吗?
例如:
User Input: "123" -> Output: 123
User Input: "123.99" -> Output: 123.99
Run Code Online (Sandbox Code Playgroud)
在字符串上使用to_i或to_f
irb(main):001:0> "13".to_i
=> 13
irb(main):002:0> "13".to_f
=> 13.0
Run Code Online (Sandbox Code Playgroud)
Alb*_*bin -5
你可以这样做:
def to_float_or_int(string)
throw "error" unless string && string.length > 0
return string.to_f if string.include?('.') || string.include?(',')
string.to_i
end
Run Code Online (Sandbox Code Playgroud)
第一行确保您始终获得基于输入的结果。如果删除该空字符串,将产生 0 而不是错误。