2013-02-06 97 views
0

我是很新,Rails的,我正經過2個變量的觀點,在我的控制人他們像浮點數/ Rails的

@correct = 5 
@total = 40 
在我看來

我試圖定義標記他們喜歡:

Score = <%[email protected]%>/<%[email protected]%> = <%=(@score/@total)%> 

它輸出0爲該部門。我是否需要明確定義該方程來輸出一個浮點數或什麼?我如何得到它的輸出0.125而不是0

謝謝你們

+0

在Ruby中,當你做的整數運算,你會得到整數答案。如果你想得到一個浮點數或十進制數,那麼至少有一個除數或除數必須是十進制/浮點數。 –

回答

2

決定是否要使用@correct@score。此外,通過1.0使用雙師而不是整數乘法@score

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

或可替代投@score浮動:

<%=(@score.to_f/@total)%> 
+0

謝謝大家,我在那裏有一點腦殘:re var name! :) – DexCurl

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 = <%[email protected]%>/<%[email protected]%> = <%=(@score.to_f/@total.to_f)%> 
+1

實際上鑄造只是'@ score'就足夠了 –