From: Boost-users [mailto:boost-users-bounces@lists.boost.org] On Behalf Of Clark Cianfarini
Sent: 30 January 2015 14:45
To: boost-users@lists.boost.org
Subject: Re: [Boost-users] [Serialization] XML: float format is scientific instead of human-readable since Boost 1.57
On Fri, Jan 30, 2015 at 4:04 AM, Frank Stähr <staehr@nue.tu-berlin.de> wrote:
Here a reminder to my most important question:
On 28.01.2015 at 18:07, Frank Stähr wrote:
Not really, this just makes it harder to read or edit XMLs now.
Is it possible for us to write the “old” XML format?
So I guess no?
The way our company chose to create human-readable XML is to serialize strings instead of doubles or floats. We used a stringstream with std::setprecision to get a certain number of decimal places. The number has a chance of being slightly different after de-serialization and pulling it out of the stringstream, just like the old serialization method. This is okay for us, as we need human-readable XML more than exact round tripping.
Frank Stahr might also consider using 32-bit floats instead of double - if the precision of 6 decimal digits is enough.
This could much reduce the max number of decimal digits from 17 to 9
for 32-bit float max_digits10 = 9 and the guaranteed digits10 is 6
for 64-bit double max_digits10 = 15 and the guaranteed digits10 is 17
HTH too.
Paul
---
Paul A. Bristow
Prizet Farmhouse
Kendal UK LA8 8AB
+44 (0) 1539 561830