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