diff --git a/mod/quiz/questiontypes/numerical/questiontype.php b/mod/quiz/questiontypes/numerical/questiontype.php index 5afbd93d703..b6e519da1c2 100644 --- a/mod/quiz/questiontypes/numerical/questiontype.php +++ b/mod/quiz/questiontypes/numerical/questiontype.php @@ -163,7 +163,7 @@ class quiz_numerical_qtype extends quiz_shortanswer_qtype { unset($responsenum); // Answer is not numeric } } else if (ereg( - '^(([0-9]+(\\.[0-9]*)?|[.][0-9]+)([eE][-+]?[0-9]+)?)([^0-9].*)?$', + '^([+-]?([0-9]+(\\.[0-9]*)?|[.][0-9]+)([eE][-+]?[0-9]+)?)([^0-9].*)?$', $responsenum, $responseparts)) { $responsenum = (float)$responseparts[1]; if ($responseparts[5]) {