4

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

4

1 回答 1

14

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

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

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

于 2013-01-23T03:30:09.170 回答