-2

私はクーポンモデルを持っており、元の取引からどれだけ節約できるかを計算しようとしています。

Coupons.rb

def original_deal
  original_price
end

def our_deal
  deal_price
end

def percentage_off
  original_deal / our_deal * 100.ceil
end

Show.html

<%= number_to_percentage(@coupon.percentage_off, :precision => 2) %> 

クーポン情報

original_price = £100.00
deal_price = £90.00

結果。

答えは111.11%です。私は何が欠けていますか?

4

3 に答える 3

8

割引率の計算はオフです。元の価格と新しい価格の違いを見つける必要があります。そして、それを元の価格で割って、割引率を取得します。

def percentage_off
   (Float(original_deal - our_deal) / original_deal * 100).ceil
end

入力例は次のようになります(100 - 90) / 100 * 100 = 10

于 2012-06-19T14:13:40.030 に答える
3

これが代替の段階​​的な計算です:)

original = 100.0
our = 90.0

our_relative = our / original # => 0.9
you_save = (1.0 - our_relative).round(2) # => 0.1
you_save_percents = (you_save * 100).round # => 10
于 2012-06-19T14:15:08.970 に答える
1

計算は正しく行われています。提供した値を見て計算を行うと、次の方程式が思い浮かびます。

100.00 / 90.00 = 1.11
then you do
1.11 * 100 = 111.11

節約率を計算する場合は、次のことを試してください。

(original_price - deal_price) / original_price * 100.ceil

うまくいけば、それはあなたを助ける。

于 2012-06-19T14:13:57.680 に答える