我对 Rails 很陌生,我将 2 个变量传递给一个视图,在我的控制器中将它们定义为
@correct = 5
@total = 40
在我看来,我试图将它们标记为:
Score = <%=@score%>/<%=@total%> = <%=(@score/@total)%>
它为除法输出 0。我是否需要明确定义该方程以输出浮点数或其他内容?如何让它输出 0.125 而不是 0
多谢你们
我对 Rails 很陌生,我将 2 个变量传递给一个视图,在我的控制器中将它们定义为
@correct = 5
@total = 40
在我看来,我试图将它们标记为:
Score = <%=@score%>/<%=@total%> = <%=(@score/@total)%>
它为除法输出 0。我是否需要明确定义该方程以输出浮点数或其他内容?如何让它输出 0.125 而不是 0
多谢你们
决定是否要使用@correct
或@score
。还要使用双除法而不是整数@score
乘以1.0
:
<%=(1.0 * @score/@total)%>
或者@score
转换为浮动:
<%=(@score.to_f/@total)%>
您需要将整数显式转换为浮点数:
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)%>