Ruby/Rails 百分比到小数
Ruby/Rails Percentage to decimal
这里有点初学者问题...在我的 rails 应用程序中,我有一个零件模型,我希望管理员能够根据需要对零件的价格应用折扣。我的零件模型中的折扣值是一个整数。我的零件模型中有一个名为 apply_discount
的方法
class Part < ActiveRecord::Base
has_many :order_items
belongs_to :category
default_scope { where(active: true)}
def apply_discount
new_price = self.discount.to_decimal * self.price
self.price - new_price
end
我收到的错误是 "undefined method `to_decimal' for 10:Fixnum"
每当您投入一定比例的折扣时。有什么想法可以让折扣适当地转换成浮点数或小数吗?谢谢
整数没有 to_decimal
方法,但有 to_f
(浮动)。您需要除以 100 才能使折扣百分比生效。
此外,除非您正在分配,否则您不需要使用 self.
。
def apply_discount
price - ( discount.to_f / 100 * price )
end
这里有点初学者问题...在我的 rails 应用程序中,我有一个零件模型,我希望管理员能够根据需要对零件的价格应用折扣。我的零件模型中的折扣值是一个整数。我的零件模型中有一个名为 apply_discount
的方法class Part < ActiveRecord::Base
has_many :order_items
belongs_to :category
default_scope { where(active: true)}
def apply_discount
new_price = self.discount.to_decimal * self.price
self.price - new_price
end
我收到的错误是 "undefined method `to_decimal' for 10:Fixnum" 每当您投入一定比例的折扣时。有什么想法可以让折扣适当地转换成浮点数或小数吗?谢谢
整数没有 to_decimal
方法,但有 to_f
(浮动)。您需要除以 100 才能使折扣百分比生效。
此外,除非您正在分配,否则您不需要使用 self.
。
def apply_discount
price - ( discount.to_f / 100 * price )
end