【发布时间】:2011-11-20 17:27:00
【问题描述】:
我需要在我的 Rails 应用程序中使用百分比。在任何视图中,包括用户输入的视图,格式都需要为百位格式,100.000。用于计算时,需要用百分之一格式表示,1.00000。
我的迁移(我正在将列添加到现有表中)具有以下行:
add_column :worker, :cash_split, :decimal, :precision => 6, :scale => 5
所以,截至目前,我将其存储为百分之一 (1.00000) 格式。我选择以这种格式存储它的基础是,当我需要进行乘法运算时,我认为这将意味着更清晰的业务逻辑(即没有worker.cash_split / 100.0.to_d 代码)。
我唯一的另一个想法可能是滥用composed_of方法。我可以将数百个 (100.000) 格式的数据存储为 cash_split,然后创建一个属性访问器 cash_split_percentage,它以 1.0000 格式返回 cash_split。
【问题讨论】:
标签: mysql ruby-on-rails