如何将字符串转换为整数或浮点型

Har*_*ish 3 ruby

我有一个文本字段,用户可以在其中输入数字,并且我希望能够根据用户输入将字符串转换为整数或浮点数。在Ruby中有一种简单的方法吗?

例如:

User Input: "123"  -> Output: 123
User Input: "123.99" -> Output: 123.99
Run Code Online (Sandbox Code Playgroud)

Pau*_*bel 5

在字符串上使用to_ito_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 而不是错误。