Rails 3. Как отобразить два десятичных знака в форме редактирования? У меня есть эта форма редактирования. Но когда я храню что-то вроде 1.5, я хотел бы отобразить его как 1.50. Как я мог сделать это с помощью помощника формы? <%= f.text_field :cost, :class => 'cost' %> Ответ 1 Вы должны использовать помощник 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, ту же страницу для doc (в контексте формы я бы сохранил number_with_precision, вы не хотите испортить денежные символы) Ответ 2 В качестве альтернативы вы можете использовать строку формата "%.2f" % 1.5. http://ruby-doc.org/docs/ProgrammingRuby/html/ref_m_kernel.html#Kernel.sprintf Ответ 3 Для этого я использую formater number_to_currency. Поскольку я нахожусь в США, по умолчанию работа для меня прекрасна. <% price = 45.9999 %> <price><%= number_to_currency(price)%></price> => <price>$45.99</price> Вы также можете передать опции, если по умолчанию не работают для вас. Документация по доступным параметрам в api.rubyonrails.org Ответ 4 Rails имеет number_to_currency вспомогательный метод, который лучше подходит для вашего конкретного варианта использования.
Ответ 1 Вы должны использовать помощник 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, ту же страницу для doc (в контексте формы я бы сохранил number_with_precision, вы не хотите испортить денежные символы)
Ответ 2 В качестве альтернативы вы можете использовать строку формата "%.2f" % 1.5. http://ruby-doc.org/docs/ProgrammingRuby/html/ref_m_kernel.html#Kernel.sprintf
Ответ 3 Для этого я использую formater number_to_currency. Поскольку я нахожусь в США, по умолчанию работа для меня прекрасна. <% price = 45.9999 %> <price><%= number_to_currency(price)%></price> => <price>$45.99</price> Вы также можете передать опции, если по умолчанию не работают для вас. Документация по доступным параметрам в api.rubyonrails.org
Ответ 4 Rails имеет number_to_currency вспомогательный метод, который лучше подходит для вашего конкретного варианта использования.