diff options
author | Dennis Brakhane <brakhane@gmail.com> | 2016-06-18 13:18:31 +0200 |
---|---|---|
committer | Dennis Brakhane <brakhane@gmail.com> | 2016-06-18 13:20:45 +0200 |
commit | c246931f030fa434d9494835a565543ab7d61258 (patch) | |
tree | 976b8f53cce695b073a5df3f804ec26cf4aa5d20 | |
parent | 916e84d08cf08de08ba6966a6fd28ffb2b2d6cd0 (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.cpp | 2 |
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); |