Uwe Bonnes schrieb:
"Peter" == Peter Beutner p.beutner@gmx.net writes:
Peter> Which means that '7.8912654773d210' is the same as Peter> '7.8912654773e210'.
Running the test with native msvcrt doesn't give me 7.8912654773e210 neither...
Using the test that Louis posted in his first email ...
peter@lappy ~/coding $ /opt/xmingw/bin/i386-mingw32msvc-gcc -o test_atof.exe test_atof.c
peter@lappy ~/coding $ WINEDLLOVERRIDES=msvcrt=b wine test_atof.exe atof test: " -2309.12E-15"; float: -2.309120e-12 atof test: "7.8912654773d210"; float: 7.891265e+00 atoi test: " -9885 pigs"; integer: -9885 atol test: "98854 dollars"; long: 98854
peter@lappy ~/coding $ WINEDLLOVERRIDES=msvcrt=n wine test_atof.exe atof test: " -2309.12E-15"; float: -2.309120e-012 atof test: "7.8912654773d210"; float: 7.891265e+210 atoi test: " -9885 pigs"; integer: -9885 atol test: "98854 dollars"; long: 98854
So it works here as expected.
Peter> But on linux we have(quoted from 'man strtod'): ----- A decimal Peter> number consists of a nonempty sequence of decimal digits pos- Peter> sibly containing a radix character (decimal point, locale Peter> dependent, usually ``.''), optionally followed by a decimal Peter> exponent. A decimal exponent consists of an ``E'' or ``e'', Peter> followed by an optional plus or minus sign, followed by a Peter> non-empty sequence of decimal digits, and indicates Peter> multiplication by a power of 10. ---- Peter> It doesn't parse 'd' or 'D' as exponent. Seems to be a "MS-only Peter> extension" to the standard :p
Could you please check '7.8912654773d210' gives the expected result on windows?
Hmm don't have any installed windows around here atm.But isn't it enough that the native msvcrt gives the expected result?