Encode reals correctly
authorPetri Lehtinen <petri@digip.org>
Thu, 17 Dec 2009 21:42:13 +0000 (23:42 +0200)
committerPetri Lehtinen <petri@digip.org>
Thu, 17 Dec 2009 22:05:06 +0000 (00:05 +0200)
This patch changes the sprintf format from "%0.17f" to "%.17g", as the
f format specifier doesn't print the exponent at all. This caused
losing precision in all but the most simple cases.

Because the g specifier doesn't print the decimal fraction or exponent
if they're not needed, a ".0" has to be appended by hand in these
cases. Otherwise the value's type changes from real to integer when
decoding again.

Thanks to Philip Grandinetti for reporting this issue.


No differences found