Rails 3.如何以编辑forms显示两位小数?
我有这个编辑表单。
但是,当我存储1.5的东西,我想显示为1.50。
我怎么可以用forms助手做到这一点? <%= f.text_field :cost, :class => 'cost' %>
你应该使用number_with_precision
助手。 请参阅文档 。
例:
number_with_precision(1.5, :precision => 2) => 1.50
在你的帮助下:
<%= f.text_field :cost, :class => 'cost', :value => (number_with_precision(f.object.cost, :precision => 2) || 0) %>
顺便说一句,如果你真的想显示一些价格,使用number_to_currency
,同一页的文档(在一个forms上下文,我会保持number_with_precision
,你不想搞乱金钱符号)
或者,您可以使用格式string"%.2f" % 1.5
。 http://ruby-doc.org/docs/ProgrammingRuby/html/ref_m_kernel.html#Kernel.sprintf
为此,我使用number_to_currency formater。 因为我在美国,所以默认值对我来说很好。
<% price = 45.9999 %> <price><%= number_to_currency(price)%></price> => <price>$45.99</price>
如果默认值不适用于您,也可以传入选项。 有关api.rubyonrails.org上可用选项的文档
Rails有一个number_to_currency帮助器方法,可能更适合你的具体用例。