所以假设我有一个字符串,'$3,444.11'
. 如何将其转换为 float 3,444.11
?我有一个表单域。用户可以插入"3,444.11"
, "3444.11"
, 或"$3,444.11
" 或"€3,444.11"
. 我需要的是3,444.11
作为一个浮点数。我是否必须求助于正则表达式?或者,是否已经有一个我忽略的功能?
问问题
5664 次
1 回答
14
我认为标准库中没有任何东西可以为您做到这一点。这是一个快速的单行:
'$3,444.11'.gsub(/[^\d\.]/, '').to_f
# => 3444.11
但是,您可能想查看money
用于高级处理货币字符串的 gem。
于 2013-01-23T03:30:09.170 回答