J'ai ce formulaire d'édition.
Mais lorsque je stocke quelque chose comme 1,5, je voudrais l'afficher comme 1,50.
Comment pourrais-je faire cela avec l'aide au formulaire ? <%= f.text_field :cost, :class => 'cost' %>
J'ai ce formulaire d'édition.
Mais lorsque je stocke quelque chose comme 1,5, je voudrais l'afficher comme 1,50.
Comment pourrais-je faire cela avec l'aide au formulaire ? <%= f.text_field :cost, :class => 'cost' %>
Vous devez utiliser number_with_precision
aide. Voir le document .
Exemple :
number_with_precision(1.5, :precision => 2)
=> 1.50
A l'intérieur de vous formez l'aide :
<%= f.text_field :cost, :class => 'cost', :value => (number_with_precision(f.object.cost, :precision => 2) || 0) %>
BTW, si vous voulez vraiment afficher un prix, utilisez number_to_currency
même page pour le doc (dans un contexte de formulaire, je garderais number_with_precision
vous ne voulez pas vous embrouiller avec des symboles d'argent).
Vous pouvez également utiliser la chaîne de format "%.2f" % 1.5
. http://ruby-doc.org/docs/ProgrammingRuby/html/ref_m_kernel.html#Kernel.sprintf
Pour cela, j'utilise le nombre_en_devise formateur. Comme je suis aux États-Unis, les valeurs par défaut fonctionnent bien pour moi.
<% price = 45.9999 %>
<price><%= number_to_currency(price)%></price>
=> <price>$45.99</price>
Vous pouvez également passer des options si les valeurs par défaut ne vous conviennent pas. La documentation sur les options disponibles à api.rubyonrails.org
Rails dispose d'un nombre_en_devise qui pourrait mieux convenir à votre cas d'utilisation spécifique.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.