ruby-on-rails – 剥离字符串的第一个字符
发布时间:2020-12-17 02:51:22 所属栏目:百科 来源:网络整理
导读:我有 string = "$575.00 "string.to_f// = 0.0string = "575.00 "string.to_f// = 575.0 进来的值是这种格式,我需要插入一个十进制的数据库字段任何建议 "$575.00 " 解决方法 我们经常这样做,我们经常写一个名为cost_to_f的String扩展: class String def co
我有
string = "$575.00 " string.to_f // => 0.0 string = "575.00 " string.to_f // => 575.0 进来的值是这种格式,我需要插入一个十进制的数据库字段任何建议 "$575.00 " 解决方法
我们经常这样做,我们经常写一个名为cost_to_f的String扩展:
class String def cost_to_f self.delete('$,').to_f end end 我们将这些扩展存储在config / initializers / extensions / string.rb中. 然后你可以简单地打电话: "$5,425.55".cost_to_f #=> 5425.55 如果你很少使用这种方法,最好的办法就是简单地创建一个函数,因为向核心类添加函数并不是我会轻易推荐的东西: def cost_to_f(string) string.delete('$,').to_f end 如果您需要多个类,可以随时将其放在模块中,然后将该模块包含在您需要的任何位置. 再多一点点.您提到在将字符串写入数据库时??需要处理该字符串.使用ActiveRecord,最好的方法是: class Item < ActiveRecord::Base def price=(p) p = p.cost_to_f if p.is_a?(String) write_attribute(:price,p) end end 编辑:更新为使用String#delete! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |