diff --git a/Framework/Geometry/inc/MantidGeometry/Instrument/Parameter.h b/Framework/Geometry/inc/MantidGeometry/Instrument/Parameter.h
index 18c9254403b6c9063fce807f071847450bd9b772..3bb8732ab73902359618e4ed22e3b64924468f1d 100644
--- a/Framework/Geometry/inc/MantidGeometry/Instrument/Parameter.h
+++ b/Framework/Geometry/inc/MantidGeometry/Instrument/Parameter.h
@@ -10,6 +10,7 @@
 #include <typeinfo>
 #include <vector>
 #include <stdexcept>
+#include <iomanip>
 
 namespace Mantid {
 
@@ -185,6 +186,7 @@ template <class T> void Parameter::set(const T &t) {
  */
 template <class Type> std::string ParameterType<Type>::asString() const {
   std::ostringstream str;
+  str << std::setprecision(std::numeric_limits<Type>::digits10);
   str << m_value;
   return str.str();
 }