diff options
-rw-r--r-- | core/math/expression.cpp | 4 | ||||
-rw-r--r-- | tests/core/math/test_expression.h | 2 |
2 files changed, 2 insertions, 4 deletions
diff --git a/core/math/expression.cpp b/core/math/expression.cpp index b447d09887..0ddac9744e 100644 --- a/core/math/expression.cpp +++ b/core/math/expression.cpp @@ -361,6 +361,7 @@ Error Expression::_get_token(Token &r_token) { is_float = true; } else if (c == 'e') { reading = READING_EXP; + is_float = true; } else { reading = READING_DONE; } @@ -397,9 +398,6 @@ Error Expression::_get_token(Token &r_token) { exp_beg = true; } else if ((c == '-' || c == '+') && !exp_sign && !exp_beg) { - if (c == '-') { - is_float = true; - } exp_sign = true; } else { diff --git a/tests/core/math/test_expression.h b/tests/core/math/test_expression.h index 5a894b20f3..6e3be541b0 100644 --- a/tests/core/math/test_expression.h +++ b/tests/core/math/test_expression.h @@ -137,7 +137,7 @@ TEST_CASE("[Expression] Scientific notation") { expression.parse("2e5") == OK, "The expression should parse successfully."); CHECK_MESSAGE( - Math::is_equal_approx(double(expression.execute()), 25), + Math::is_equal_approx(double(expression.execute()), 2e5), "The expression should return the expected result."); CHECK_MESSAGE( |