通貨/お金を扱う最良の方法は何ですか? 質問する

通貨/お金を扱う最良の方法は何ですか? 質問する

私は非常に基本的なショッピングカート システムに取り組んでいます。

型のitems列を持つテーブルがあります。priceinteger

ユーロとセントが両方含まれる価格をビューに表示する際に問題が発生しています。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

おすすめ記事