1

Railsアプリで小数の計算をいくつか試していますが、奇妙な結果が得られています。

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

@pprice = item.price - promo.discount

各値 (item.price、promo.discount など) は小数です。ただし、計算しようとすると、結果がまちまちで、どれも正しい合計ではありません。結果は、.to_f が含まれているかどうかに応じて、nil、0.0、および -2.0 の範囲になります。

最初の計算はパーセンテージ割引に基づいており、2 番目の計算は定額割引に基づいています。

ビューで(テストするために)計算を実行しましたが、正しく表示されますが、コントローラーに移動するとエラーが発生します。

どんな助けでも大歓迎です。

4

1 に答える 1

0

値を float に変換しているため、計算結果は正確ではありません。価格フィールドの文字列、10 進数、または浮動小数点データ型を参照してください。

于 2012-10-09T11:42:57.967 に答える