我正在尝试计算产品的平均净价。在我的产品模型中,我有:total_sold 和:total_net_revenue。在该方法中进行直接除法似乎总是得到 0。我使用 BigDecimal 因为我认为这是问题所在......但是在我对下面代码的最新迭代中,当答案出现时我仍然得到零小数点。
def avg_price
BigDecimal(total_sold.to_s) / (BigDecimal(total_net_revenue.to_s) / 100)
end
净收入以美分为单位,这就是我除以 100 的原因。有人可以指出我做错了什么或应该做什么吗?
最佳答案
total_net_revenue / total_sold
或
total_net_revenue / total_sold / 100.0
或
total_net_revenue.to_f / total_sold / 100
如果您需要,这三种方法可以提高精度。请记住,“平均价格”是“平均价格/销售额”。这是每件商品的价格,因此您需要按特定顺序进行除法。
关于ruby-on-rails - 在 Ruby on Rails 3 中使用小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4730830/