割り算
float.rb
255/12
こんな計算をすると、小数点がどっか行っちゃう。
float.rb
[1] pry(main)> 255/12
=> 21
これは別にどっか行っちゃう訳ではなく、整数/整数=整数
を返す仕様らしい。
勝手にfloatにはならない。
一覧表
|除算の対象|除算する数値|/|div|quo|
|------+-----+----+----+---|
|整数|整数|整数|整数|浮動|小数点数|
|整数|浮動小数点数|浮動小数点数|整数|浮動小数点数|
|浮動小数点数|整数|浮動小数点数|整数|浮動小数点数|
|浮動小数点数|浮動小数点数|浮動小数点数|整数|浮動小数点数|
float.rb
[2] pry(main)> 255/12.to_f
=> 21.25
[3] pry(main)> 255.quo(12)
=> (85/4)
[4] pry(main)> 255.quo(12).to_f
=> 21.25
[5] pry(main)> 255.to_f/12.to_f
=> 21.25
floatを明示すれば無問題