Rails 3. How to display two decimal places in edit form? Rails 3. How to display two decimal places in edit form? ruby-on-rails ruby-on-rails

Rails 3. How to display two decimal places in edit form?


You should use number_with_precision helper. See doc.

Example:

number_with_precision(1.5, :precision => 2)=> 1.50 

Within you form helper:

<%= f.text_field :cost, :class => 'cost', :value => (number_with_precision(f.object.cost, :precision => 2) || 0) %>

BTW, if you really want to display some price, use number_to_currency, same page for doc (In a form context, I'd keep number_with_precision, you don't want to mess up with money symbols)



For this I use the number_to_currency formater. Since I am in the US the defaults work fine for me.

<% price = 45.9999 %><price><%= number_to_currency(price)%></price>=> <price>$45.99</price>

You can also pass in options if the defaults don't work for you.Documentation on available options at api.rubyonrails.org