我正在开发一个非常基本的购物车系统。
我有一个表items,其中有一列pricetype integer。
items
price
integer
对于包含欧元和美分的价格,我无法在我的视图中显示价格值。就在 Rails 框架中处理货币而言,我是否遗漏了一些明显的东西?
您可能希望DECIMAL在数据库中使用一种类型。在您的迁移中,请执行以下操作:
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,这对于价格计算非常有用。
:decimal
BigDecimal
如果您坚持使用整数,您将不得不在BigDecimal任何地方手动转换为 s 和从 s 转换,这可能会变得很痛苦。
正如 mcl 所指出的,要打印价格,请使用:
number_to_currency(price, :unit => "€") #=> €1,234.01