将人数字符串转换为浮动在ruby或rails中

sha*_*evy -3 ruby ruby-on-rails

我搜索了一段时间用于ruby或rails方法,我可以调用它来将一个简单的字符串1,000.53转换为浮点值,但我不能.

我所能看到的是number_to_human,它与我想要的相反.有什么可用于我的用例或我一个人(我不认为).我想要的只是上面用逗号和点进行的简单转换.不需要花哨的货币或任何其他符号转换.

谢谢

编辑

'1,000.5'.gsub(/,/, '').to_f但我正在寻找一个已经可用的ruby或rails方法.或者使用gsub替代我的解决方案.

spi*_*ann 11

首先从字符串中删除非数字或分隔符的所有字符(.在您的示例中).然后调用to_f已清理的字符串:

'1,000.53'.gsub(/[^\d^.]/, '').to_f #=> 1000.53
Run Code Online (Sandbox Code Playgroud)