0

フォームに3.50の価格を入力すると、railsはそれを3.5としてデータベースに保存しますが、3.51のように最後にゼロがないものを入力すると、3.51として保存されます。3.50が入力された場合、3.50をjsonとして返す必要があります。

私の単純な形式では、これを入力に使用しています

<%= f.input :price, :value => number_to_currency(f.object.price, :precision => 2) %>

Schema

 t.decimal  "price",              :precision => 10, :scale => 2

ゼロが低下している理由について何かアイデアはありますか?

4

2 に答える 2

1

0 は意味がないからです。レールとは関係ありません。コンソール3.50に入力すると、 が返され3.5ます。3.50あなたの番号の単なる文字列表現です。float に変換された場合、0 を使用しても意味がありません。

返品するにはなぜ 3.50 が必要なのですか? 別の方法は、json の作成時に自分で追加することです。

于 2013-03-13T19:49:15.080 に答える
1

数値が数値として格納されている限り、ほとんどのデータベースは可能な限り単純な数値を保持します。数値が文字列になるとすぐに、先頭または末尾のゼロを確認します。

于 2013-03-13T19:49:51.047 に答える