如何从浮点输入中删除逗号?

时间:2013-06-27 16:32:24

标签: ruby-on-rails ruby ruby-on-rails-3

我有一个字段 -

:Revenue

并且它应该接受10,000.00之类的值,但是如果我输入这样的值,它会将10存储到数据库而不是10000.00

在保存之前我该怎么做才能删除逗号?

我试图在网上找到一些解决方案但由于发现它们不完整而无法实现它们。如果有人能帮助我,我会非常感激。

**我现在面临的问题是,只要我输入值rails就可以将字符串转换为浮点值,然后才能运行gsub函数,就像我在调用gsub之前输入50,000.00将其转换为float 50.0一样,是否有任何方法可以通过to_f方法调用rails调用字符串。

3 个答案:

答案 0 :(得分:12)

删除逗号非常简单:

value.gsub(/,/, '').to_f

请记住,欧洲格式通常使用逗号作为小数值分隔符,因此如果处理这些数字,结果将会减少100倍。

答案 1 :(得分:4)

您可以选择String#delete

"10,000,000.00".delete(',').to_f 
# => 10000000.0

答案 2 :(得分:1)

我在查看几个地方并结合几个解决方案后找到了解决方案,因为我必须在链接到模型之前使用gsub。所以我在我的控制器中创建了该方法,并在创建和更新操作之前调用它。并在方法

中编写了以下代码
params[:record][:Revenue] = params[:record][:Revenue].gsub(/,/,"")