私は非常に基本的なショッピングカート システムに取り組んでいます。
型のitems
列を持つテーブルがあります。price
integer
ユーロとセントが両方含まれる価格をビューに表示する際に問題が発生しています。Rails フレームワークでの通貨の処理に関して、何か明らかなことを見逃しているのでしょうか?
ベストアンサー1
おそらく、DECIMAL
データベースで型を使用する必要があるでしょう。移行では、次のようにします。
# precision is the total number of digits
# scale is the number of digits to the right of the decimal point
add_column :items, :price, :decimal, :precision => 8, :scale => 2
Rails では、:decimal
型は として返されBigDecimal
、価格計算に最適です。
どうしても整数を使いたい場合、どこでも手動で整数と整数を変換する必要がありBigDecimal
、おそらく面倒なことになるでしょう。
mcl が指摘したように、価格を印刷するには、次を使用します。
number_to_currency(price, :unit => "€")
#=> €1,234.01