【问题标题】:Ruby/Rails Percentage to decimalRuby/Rails 十进制百分比
【发布时间】:2016-03-19 00:51:47
【问题描述】:

这里有一个初学者问题...在我的 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

我得到的错误是“10:Fixnum 的未定义方法 `to_decimal'” 每当您输入折扣的百分比时。任何想法如何获得适当的折扣以转换为浮点数或小数?谢谢

【问题讨论】:

    标签: ruby-on-rails ruby fixnum


    【解决方案1】:

    没有用于整数的to_decimal 方法,但有一个to_f(用于浮动)。您需要除以 100 才能获得折扣百分比。

    另外,您不需要使用self.,除非您正在分配。

    def apply_discount
      price - ( discount.to_f / 100 * price )
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多