From 3931107c94f1f70e1df5ece5e430920fd8cac368 Mon Sep 17 00:00:00 2001
From: Dani Palou <dani@moodle.com>
Date: Thu, 29 Nov 2018 12:43:07 +0100
Subject: [PATCH] MOBILE-2764 assign: Display right decimal separator in
 gradebook grade

---
 src/addon/mod/assign/components/submission/submission.ts | 8 ++++----
 src/providers/utils/utils.ts                             | 2 +-
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/addon/mod/assign/components/submission/submission.ts b/src/addon/mod/assign/components/submission/submission.ts
index 3095a5212..65057f219 100644
--- a/src/addon/mod/assign/components/submission/submission.ts
+++ b/src/addon/mod/assign/components/submission/submission.ts
@@ -506,7 +506,7 @@ export class AddonModAssignSubmissionComponent implements OnInit, OnDestroy {
             if (feedback.grade && feedback.grade.grade && !this.grade.grade) {
                 const parsedGrade = parseFloat(feedback.grade.grade);
                 this.grade.grade = parsedGrade || parsedGrade == 0 ? parsedGrade : null;
-                this.grade.gradebookGrade = this.grade.grade;
+                this.grade.gradebookGrade = this.utils.formatFloat(this.grade.grade);
                 this.originalGrades.grade = this.grade.grade;
             }
         } else {
@@ -829,11 +829,11 @@ export class AddonModAssignSubmissionComponent implements OnInit, OnDestroy {
 
                     // Not using outcomes or scale, get the numeric grade.
                     if (this.grade.scale) {
-                        this.grade.gradebookGrade = this.gradesHelper.getGradeValueFromLabel(
-                                this.grade.scale, grade.gradeformatted);
+                        this.grade.gradebookGrade = this.utils.formatFloat(this.gradesHelper.getGradeValueFromLabel(
+                                this.grade.scale, grade.gradeformatted));
                     } else {
                         const parsedGrade = parseFloat(grade.gradeformatted);
-                        this.grade.gradebookGrade = parsedGrade || parsedGrade == 0 ? parsedGrade : null;
+                        this.grade.gradebookGrade = parsedGrade || parsedGrade == 0 ? this.utils.formatFloat(parsedGrade) : null;
                     }
 
                     this.grade.disabled = grade.gradeislocked || grade.gradeisoverridden;
diff --git a/src/providers/utils/utils.ts b/src/providers/utils/utils.ts
index 408a4c950..acaca2707 100644
--- a/src/providers/utils/utils.ts
+++ b/src/providers/utils/utils.ts
@@ -471,7 +471,7 @@ export class CoreUtilsProvider {
      * @return {string} Locale float.
      */
     formatFloat(float: any): string {
-        if (typeof float == 'undefined') {
+        if (typeof float == 'undefined' || float === null) {
             return '';
         }