Sinatraアプリに価格フィールドがあります。DataMapperの定義は次のとおりです。
property :purchase_price, Decimal, :precision => 10, :scale => 2
価格が収集される入力フォームは次のようになります。
<input type="text" name="price" placeholder="Price" pattern="^\d+\.\d{2}$">
そして、価格を確認して変更する可能性がある編集フォームは、次のようになります。
<input type="text" name="price" value="<%= @book.purchase_price.to_s('F') %>">
すべての本とその価格を表に表示すると、価格は次のように表示されます。
<td><%= book.purchase_price.to_s('F') %></td>
その行がループしている場所:
<% @books.each do |book| %>
...
<% end %>
9.0
セントがゼロに等しい場合、つまり、の代わりに取得した場合、価格表示は値のセント部分を切り捨てます9.00
。入力パターンにより、入力する必要がありますが9.00
、表示方法がわかりません9.00
。
明らかな何かが欠けていると確信しています。切り捨てずに価格を表示するにはどうすればよいですか?