From 4581501ede03d2b31d5d6fd3109b0be696b4cd9d Mon Sep 17 00:00:00 2001 From: toyomoyo Date: Mon, 17 Sep 2007 04:25:51 +0000 Subject: [PATCH] MDL-11276, average calculations are inaccurate in percentage form due to double rounding --- grade/report/grader/lib.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/grade/report/grader/lib.php b/grade/report/grader/lib.php index 210411b2fa..0efdaea9b0 100644 --- a/grade/report/grader/lib.php +++ b/grade/report/grader/lib.php @@ -924,17 +924,17 @@ class grade_report_grader extends grade_report { $gradehtml = $scale_object->get_nearest_item($scaleval); $rawvalue = $scaleval; } else { + $rawgradeval = $sum/$mean_count; $gradeval = format_float($sum/$mean_count, $decimalpoints); $gradehtml = $gradeval; - $rawvalue = $gradeval; } if ($displaytype == GRADE_REPORT_GRADE_DISPLAY_TYPE_PERCENTAGE) { - $gradeval = grade_to_percentage($rawvalue, $item->grademin, $item->grademax); + $gradeval = grade_to_percentage($rawgradeval, $item->grademin, $item->grademax); $gradehtml = format_float($gradeval, $decimalpoints). '%'; } elseif ($displaytype == GRADE_REPORT_GRADE_DISPLAY_TYPE_LETTER) { $letters = grade_report::get_grade_letters(); - $gradehtml = grade_grade::get_letter($letters, $gradeval, $item->grademin, $item->grademax); + $gradehtml = grade_grade::get_letter($letters, $rawgradeval, $item->grademin, $item->grademax); } $numberofgrades = ''; -- 2.39.5