Hi,

Thanks for the great help.
I tracked the problem to et_getdigit()
More precisely to:
digit = (int)*val;

So, SQLite is assuming that "double" to "int" cast will truncate the value. This should be true. But in this device this is not happening, so if "val" is 2.55 I get 3 in "digit".

Anyone knows why this could happen?

I found something that makes it work correctly.
If I call (Visual Studio C++):
_controlfp(_RC_CHOP , _MCW_RC);

it works correctly. But I am a little bit out of my league here.
Wont this possibly cause other problems somewhere else?
Isn't the default setting with _RC_NEAR?
(Note: This call is thread dependent)


Cumprimentos / Best Regards

Filipe Madureira
-----------------------------------------------------------------------------
SYSDEV, LDA - Mobile Solutions
(www.sysdevsolutions.com)
Tel: +351 234188027
Fax: +351 234188400
-----------------------------------------------------------------------------

>Floating point to ASCII conversion happens here:
>
>   http://www.sqlite.org/src/artifact/bff529ed476?ln=406-553
>
>
>
>--
>D. Richard Hipp
>drh at sqlite.org


_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to