【问题标题】:Rails, how to store percentage values in databaseRails,如何在数据库中存储百分比值
【发布时间】:2014-03-07 08:40:07
【问题描述】:

我在数据库中存储百分比值时遇到了难题。我的数据库中有模型“成本”。它将属于增值税。我的增值税模型将只有一个字段:“率”。现在我的问题是使用哪种类型的数据。我想为我的增值税对象值存储类似的东西:

  • 如果增值税在我的税率列中为 23%,我们有 0.23。

有什么想法吗?

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-4 ruby-on-rails-3.2


    【解决方案1】:

    为什么不将其存储为浮点数并在 vat 模型中添加方法

    def rate
      self.rate * 100
    end
    
    def rate=(perc)
      self.rate = perc / 100
    end
    

    【讨论】:

    • 感谢您的回复。我有想法以其他方式进行。我想在我的数据库中有一个浮点日期类型。所以我的费率字段是浮动的。当用户输入表单 23 时,它会执行 before_save 回调并将其更改为 0.23。然后我可以轻松地从数据库中取出我的大桶并计算成本。您对此有何看法?
    • 那肯定行得通,请确保您仍然添加一些方便的方法来以23% 的形式而不是.23 的形式恢复费率。还要确保如果您添加百分比数据保存为 0.23 并且您不能执行 rate + 5,因为它将是 5.23
    • 我还会向模型添加验证以确保速率在 0 和 1 之间
    • 谢谢你的帮助,我会这样做的。
    猜你喜欢
    • 1970-01-01
    • 2010-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-03
    • 1970-01-01
    相关资源
    最近更新 更多