0

我对 Rails 很陌生,我将 2 个变量传递给一个视图,在我的控制器中将它们定义为

@correct = 5
@total = 40

在我看来,我试图将它们标记为:

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

它为除法输出 0。我是否需要明确定义该方程以输出浮点数或其他内容?如何让它输出 0.125 而不是 0

多谢你们

4

2 回答 2

2

决定是否要使用@correct@score。还要使用双除法而不是整数@score乘以1.0

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

或者@score转换为浮动:

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

您需要将整数显式转换为浮点数:

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 回答