忘れがちなのでメモ
問題だったところ
ふと全国の小学生の中からタレントって何人くらいいるだろうなって思ってRubyで計算してみたところ0が結果として出力されたのでちょっと期待と違うなーって思った。
~ irb 17.8m Wed Mar 4 21:49:20 2020 irb(main):001:0> 405/644900 => 0
解決策
なんでかなと思ったがRubyには便利なClassオフジェクトがあるので一度確認をしてみる
irb(main):003:0> (405/644900).class => Integer
想定していたみたいに、小数点以下の割り算をする場合はデータ型をFloatにしてあげないといけないのんでこのように変更
irb(main):005:0> 405/644900.to_f => 0.0006280043417584122
こうする事で浮動小終点の計算ができる
おまけ
でも調べたいのはおよそ何パーセントいるんだよって事なので、こんなに細かい数字はいらない。。。
なので余計な部分はfloor関数を使って下の部分をカットすることにした。
irb(main):008:0> (405/644900.to_f).floor(5) => 0.00062
このくらいになると割と現実的に使えそうな数字になってきたんのでいいのではないだろうか
ちなみに全国の0〜13歳でタレントになっている確率はおおよそ0.06%なのでSSRを100ガチャで当てるよりもレアだぞ!
irb(main):009:0> (405/644900.to_f * 100).floor(2) => 0.06