> *Now, Python and CodeLite code work fine, and produce the value 1.3 for the
> Elev field, Qt Creator code don't and the saved value is read as 1 (because
> is codified as "1,3" and not as "1.3")!!!*
> 
> Now, I took a look inside the source code of the GDAL library.
> The method that writes real values to the dbf file is
> DBFWriteDoubleAttribute (inside the ogr/ogr_frmts/shape/dbfopen.c file).
> I think that there must be a sprintf that writes values using local
> settings while it shouldn't, but I don't know the library and I'm not able
> to check. I think it's a bug to correct.

There are likely many places in GDAL where we unfortunately use locale 
sensitive rountines and we shouldn't. You can workaround this at your side by 
including cpl_conv.h and adding a "CPLLocaleC oLocaleCForcer;" before calling 
GDAL code. This will switch to the C locale temporarily and restore the 
original locale afterwards (at the end of the block where the object is 
declared).

> 
> --
> View this message in context:
> http://osgeo-org.1560.n6.nabble.com/OFTReal-values-truncated-to-integer-tp
> 4933952p4936894.html Sent from the GDAL - Dev mailing list archive at
> Nabble.com.
> _______________________________________________
> gdal-dev mailing list
> [email protected]
> http://lists.osgeo.org/mailman/listinfo/gdal-dev
_______________________________________________
gdal-dev mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/gdal-dev

Reply via email to