Looks like the last case is due to this: Pike tries to parse it as an integer or float and where the parsing stops it considers the token to end. Since the system strtod doesn't like the exponent it probably parses it as an integer followed by the unexpected identifier "e".
/ Martin Stjernholm, Roxen IS
Previous text:
2003-02-26 08:13: Subject: Floating point (conversion) bug (affected: v7.4 & v7.5; may be Hilfe only)
My theory was that it has something to do with double or better precision floats. But:
float f=1e99; f*1e-99;
(1) Result: 1.000000
Ok, jolly good.
1e1000;
(2) Result: 340282346638528859811704183484516925440.000000
Not so good.
1e-99;
(3) Result: 0.000000
1e-1000;
Compiler Error: 1:parse error, unexpected TOK_IDENTIFIER, expecting TOK_LEX_EOF or ';'
Huh?
/ Mirar