diff --git a/squirrel/sqbaselib.cpp b/squirrel/sqbaselib.cpp index 71dfc26..48645c1 100644 --- a/squirrel/sqbaselib.cpp +++ b/squirrel/sqbaselib.cpp @@ -17,11 +17,12 @@ static bool str2num(const SQChar *s,SQObjectPtr &res,SQInteger base) { SQChar *end; const SQChar *e = s; + SQBool isEIntBase = base > 13; //to fix error converting hexadecimals with e like 56f0791e SQBool isfloat = SQFalse; SQChar c; while((c = *e) != _SC('\0')) { - if(c == _SC('.') || c == _SC('E')|| c == _SC('e')) { //e and E is for scientific notation + if(c == _SC('.') || (!isEIntBase && (c == _SC('E')|| c == _SC('e')))) { //e and E is for scientific notation isfloat = SQTrue; break; }