From c2f3af7be1443965e4688c36f6c710c1c69ffa2e Mon Sep 17 00:00:00 2001 From: balint1414 Date: Tue, 24 Feb 2026 21:13:53 +0100 Subject: [PATCH] =?UTF-8?q?=C3=81tlagsz=C3=A1ml=C3=A1l=C3=B3=20seg=C3=A9d?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- firka/lib/helpers/average_helper.dart | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 firka/lib/helpers/average_helper.dart diff --git a/firka/lib/helpers/average_helper.dart b/firka/lib/helpers/average_helper.dart new file mode 100644 index 0000000..ccabc82 --- /dev/null +++ b/firka/lib/helpers/average_helper.dart @@ -0,0 +1,23 @@ +import 'package:firka/helpers/api/model/grade.dart'; + +double calculateAverage(List sortedGrades) { + double totalWeight = 0.0; + double weightedSum = 0.0; + + for (final grade in sortedGrades) { + final value = grade.numericValue; + final weight = grade.weightPercentage; + + if (value != null && weight != null) { + weightedSum += value * weight; + totalWeight += weight; + } + } + + if (totalWeight == 0) { + return double.parse(0.0.toStringAsFixed(2)); + } + + final avg = weightedSum / totalWeight; + return double.parse(avg.toStringAsFixed(2)); +} \ No newline at end of file