假设我有一个字符串 '$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/