summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDennis Brakhane <brakhane@gmail.com>2016-06-18 13:18:31 +0200
committerDennis Brakhane <brakhane@gmail.com>2016-06-18 13:20:45 +0200
commitc246931f030fa434d9494835a565543ab7d61258 (patch)
tree976b8f53cce695b073a5df3f804ec26cf4aa5d20
parent916e84d08cf08de08ba6966a6fd28ffb2b2d6cd0 (diff)
correctly parse floats in scientific notation
GDScript incorrectly parsed float values in scientific notation when no decimal point was given. "1e-5" was parsed as "15". Fix this by not requiring a decimal point when we found an exponent for the number to be considered a float. Fixes #5267
-rw-r--r--modules/gdscript/gd_tokenizer.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/modules/gdscript/gd_tokenizer.cpp b/modules/gdscript/gd_tokenizer.cpp
index 8dd68cf95a..0a77b96569 100644
--- a/modules/gdscript/gd_tokenizer.cpp
+++ b/modules/gdscript/gd_tokenizer.cpp
@@ -725,7 +725,7 @@ void GDTokenizerText::_advance() {
if (hexa_found) {
int val = str.hex_to_int();
_make_constant(val);
- } else if (period_found) {
+ } else if (period_found || exponent_found) {
real_t val = str.to_double();
//print_line("*%*%*%*% to convert: "+str+" result: "+rtos(val));
_make_constant(val);