2016-07-27 9 views
1

ich habe eine grade Funktion:Einige einfache mathematische funktioniert nicht in meinem Helfer

def grade(submission) 
score_counter = 0 
total_score = submission.test.questions.size 

#the scoring logic is here 

return (score_counter/total_score)*100 
end 

Die Absicht ist es, ein Prozent Partitur zurückzukehren, aber alles, was ist 0 meiner Ansicht nach erscheint. Wenn ich nur versuche, score_counter und total_score separat zurückzugeben, zeigen sie die korrekten Werte an. Irgendwelche Ideen?

+0

nach Ihren richtigen Code zu schweben, das o/p ist immer 0, da die score_counter 0 ist, sollten Sie einige Code-Logik oder etwas hinzufügen, die nützlich sein wird beantworte deine Frage. – Sravan

+0

Sie aktualisieren score_counter nirgendwo? – titan

+0

Ich habe den Code weggelassen, den ich nicht für nötig hielt. Der 'score_counter' funktioniert definitiv, und auch' total_score'. – nachime

Antwort

2

Sie benötigen Werte ändern

(score_counter.to_f/total_score.to_f) * 100 
+0

Wer hat es abgelehnt, können Sie bitte den Grund für das Downvoting angeben? –

+0

das hat funktioniert :) war es, weil meine Sachen in Integer waren? – nachime

+0

ja, standardmäßig gibt ruby ​​das Ergebnis in Integer zurück, wenn beide Werte ganzzahlig sind –

Verwandte Themen