Fixnum→Floatへ

簡単な計算をしてみます。

price = 2000
p price             #=> 2000
p price * 0.9       #=> 1800.0

price = 10000
p price             #=> 10000

discount_price = price * 0.9
p discount_price    #=> 9000.0

10000に0.9を掛けると9000ではなく、9000.0になります。両者の違いを.classで調べてみます。

price = 10000
p price.class             #=> Fixnum

discount_price = price * 0.9
p discount_price.class    #=> Float

10000はFixnumですが、9000.0はFloatのようです。