お恥ずかしながら計算が期待する動きをせずに困っています。
やりたいことは勝率の計算です。
def win_trade_count(current_user) trades = Trade.where("trades.user_id" => current_user.id) win_trades = trades.where("trades.result" => "勝").count (win_trades / trades.count).to_f end
現状 win_tradeには3、 trades.countには6の値が入っています。これはbyebugで確認しました。
なので返ってきて欲しい値としては0.5です。
ですが、最終的な式を実行すると0.0になって値が返ってきてしまいます。
例えば以下のようにどちらも同じ変数にすれば期待する動きになります。
(win_trades / win_trades).to_f (trades.count / trades.count).to_f どちらもちゃんと1.0が返ってくる。
とても基礎的な部分のことだとは思うのですが、どうしても分からずに今回質問させていただきました。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/25 23:00
2020/04/25 23:02
2020/04/26 03:47