1

我在 Rails 应用程序中尝试了一些十进制计算,但得到了一些奇怪的结果。

@pprice = item.price - (( item.price / 100 ) * promo.discount)

@pprice = item.price - promo.discount

每个值(item.price、promo.discount 等)都是小数。但是,当我尝试计算时,我得到的结果好坏参半,没有一个是正确的总数。结果范围从零、0.0 到 -2.0,具体取决于我是否包含 .to_f。

第一个计算基于百分比折扣,第二个计算基于直接货币减免。

我已经在视图中执行了计算(进行测试)并且它们显示正确,但是当它们移到控制器时,我得到了错误。

任何帮助深表感谢。

4

1 回答 1

0

由于您将值转换为浮点数,因此您的计算结果并不精确。请参阅价格字段的字符串、小数或浮点数据类型?

于 2012-10-09T11:42:57.967 回答