割り算
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を明示すれば無問題