0

私はRailsにかなり慣れていないので、2つの変数をビューに渡します。コントローラーでは、次のように定義されています。

@correct = 5
@total = 40

私の見解では、私はそれらを次のようにマークアップしようとしています:

Score = <%=@score%>/<%=@total%> = <%=(@score/@total)%>

除算は0を出力します。フロートなどを出力するには、その方程式を明示的に定義する必要がありますか?0ではなく0.125を出力するにはどうすればよいですか

みんなありがとう

4

2 に答える 2

2

@correct使用するか、を使用するかを決定します@score。また、整数の代わりに二重除算を使用するには、次のように乗算@score1.0ます。

<%=(1.0 * @score/@total)%>

@scoreまたは、代わりにフロートにキャストします。

<%=(@score.to_f/@total)%>
于 2013-02-06T14:21:49.360 に答える
1

整数を明示的にfloatに変換する必要があります。

1.9.3p0 :001 > a = 5
 => 5 
1.9.3p0 :002 > b = 40
 => 40 
1.9.3p0 :003 > a / b
 => 0 
1.9.3p0 :005 > (a / b).to_f
 => 0.0 
1.9.3p0 :006 > a.to_f / b.to_f
 => 0.125 

あなたの場合:

Score = <%=@score%>/<%=@total%> = <%=(@score.to_f/@total.to_f)%>
于 2013-02-06T14:21:16.267 に答える