我正在尝试根据20个问题中有多少被正确回答来计算得分(百分比),我正在做的是用数据库上的答案键检查每个答案然后分配变量a 1或a 0根据是否正确,1表示正确0表示不正确。我举个例子:
<% if result.q01 == @answer01 %>
<% @score01 = 1 %>
<% else %>
<% @score01 = 0 %>
<% end %>
它正确地分配变量,但是当我做数学计算以确定其正确的百分比时。我做的数学是(在这个例子中,我只会加上前2个得分答案:
<% @grade = @score01 + @score02 %>
<% @finalgrade = @grade / 20 * 100 %>
但是最终成绩并没有加起来,就像我加起来计算器一样,它报告的是0而不是10(在这种情况下,@grade加起来为2)。知道为什么它的表现如此吗?我很难过。谢谢!
答案 0 :(得分:3)
首先,您需要将@grade / 20
语句包装在括号中。此外,您需要将其中一个数字转换为浮点数,否则您将始终得到0,除非@grade
为20(将一个整数除以另一个整数除了整数之外不会返回任何内容)。
<% @finalgrade = (@grade / 20.0) * 100 %>