假设我有一个字符串 '$3,444.11' 。如何将其转换为浮点 3,444.11 ?我有一个表单域。用户可以插入 "3,444.11""3444.11""$3,444.11 "或 "€3,444.11" 。我需要的是 3,444.11 作为浮点数。我是否必须求助于正则表达式?或者,是否已经有我忽略的函数?

最佳答案

我认为标准库中没有任何东西可以为您做到这一点。这是一个快速的单行:

'$3,444.11'.gsub(/[^\d\.]/, '').to_f
# => 3444.11

但是,您可能想查看 money gem 以进行货币字符串的高级处理。

关于Ruby 字符串到 int/float 的转换,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14471960/

10-14 01:46