From ad89e280f929200188911a87f18a364775217f88 Mon Sep 17 00:00:00 2001 From: Benjamin Bouvier Date: Tue, 10 Jul 2012 14:46:12 +0200 Subject: [PATCH] Serialization: using maximum precision when converting double to string. --- eo/src/serial/String.h | 2 ++ eo/src/serial/Utils.h | 1 + 2 files changed, 3 insertions(+) diff --git a/eo/src/serial/String.h b/eo/src/serial/String.h index 43a2cffa..6d81937f 100644 --- a/eo/src/serial/String.h +++ b/eo/src/serial/String.h @@ -3,6 +3,7 @@ # include # include +# include # include "Entity.h" @@ -60,6 +61,7 @@ template inline void String::deserialize( T & value ) { std::stringstream ss; + ss.precision(std::numeric_limits::digits10 + 1); ss << *this; ss >> value; } diff --git a/eo/src/serial/Utils.h b/eo/src/serial/Utils.h index 70fd2f75..f40c08d9 100644 --- a/eo/src/serial/Utils.h +++ b/eo/src/serial/Utils.h @@ -76,6 +76,7 @@ namespace eoserial String* make( const T & value ) { std::stringstream ss; + ss.precision(std::numeric_limits::digits10 + 1); ss << value; return new String( ss.str() ); }