我需要在 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
返回cash_split
其对应的 1.0000 格式。
你的第一个想法是正确的……不要想太多。
您绝对应该以百分之一的格式将百分比数字存储在数据库中。并在所有 Ruby 计算中使用该格式。
百分比数字是display习俗。例如number0.45 显示为 45%。因此,使用视图助手将百分比数字从其内部格式(十进制数字)转换为您选择的显示格式(包含 % 符号的字符串)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)