我是很新,Rails的,我正經過2個變量的觀點,在我的控制人他們像浮點數/ Rails的
@correct = 5
@total = 40
在我看來
我試圖定義標記他們喜歡:
Score = <%[email protected]%>/<%[email protected]%> = <%=(@score/@total)%>
它輸出0爲該部門。我是否需要明確定義該方程來輸出一個浮點數或什麼?我如何得到它的輸出0.125而不是0
謝謝你們
我是很新,Rails的,我正經過2個變量的觀點,在我的控制人他們像浮點數/ Rails的
@correct = 5
@total = 40
在我看來
我試圖定義標記他們喜歡:
Score = <%[email protected]%>/<%[email protected]%> = <%=(@score/@total)%>
它輸出0爲該部門。我是否需要明確定義該方程來輸出一個浮點數或什麼?我如何得到它的輸出0.125而不是0
謝謝你們
決定是否要使用@correct
或@score
。此外,通過1.0
使用雙師而不是整數乘法@score
:
<%=(1.0 * @score/@total)%>
或可替代投@score
浮動:
<%=(@score.to_f/@total)%>
謝謝大家,我在那裏有一點腦殘:re var name! :) – DexCurl
您需要將整數顯式地轉換爲浮動:
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)%>
實際上鑄造只是'@ score'就足夠了 –
在Ruby中,當你做的整數運算,你會得到整數答案。如果你想得到一個浮點數或十進制數,那麼至少有一個除數或除數必須是十進制/浮點數。 –