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.5http://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帮助器方法,可能更适合你的具体用例。