From 06496fdf6fb93d4cb1161e6e041f41ecd699b6bd Mon Sep 17 00:00:00 2001
From: Timo Koch <timo.koch@iws.uni-stuttgart.de>
Date: Fri, 5 Apr 2019 17:07:26 +0200
Subject: [PATCH] [io] Enable manually setting float precision for file dump

The default 6 is the default of std::setprecision.
The io manipulators only affect floating point numbers.
If a number is exact only these digits will be printed (no zeros are
appended)
---
 dumux/io/container.hh | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/dumux/io/container.hh b/dumux/io/container.hh
index 65ddba2b22..3c5a04a915 100644
--- a/dumux/io/container.hh
+++ b/dumux/io/container.hh
@@ -28,6 +28,8 @@
 #define DUMUX_IO_CONTAINER_HH
 
 #include <iostream>
+#include <ios>
+#include <iomanip>
 #include <fstream>
 #include <iterator>
 
@@ -43,9 +45,11 @@ namespace Dumux {
  */
 template<typename Container>
 void writeContainerToFile(const Container& v,
-                          const std::string& filename)
+                          const std::string& filename,
+                          int floatPrecision = 6)
 {
     std::ofstream outfile(filename, std::ios::out);
+    outfile << std::scientific << std::setprecision(floatPrecision);
     std::ostream_iterator<typename Container::value_type> it(outfile, "\n");
     std::copy(v.begin(),v.end(), it);
 }
-- 
GitLab