diff --git a/FileIO/RapidXmlIO/BoostVtuInterface.cpp b/FileIO/RapidXmlIO/BoostVtuInterface.cpp
index b5f3e0268871426a89369fbcd727af37647afba1..40fc3a0e974ce20a806abcd54599dcf7c9c0e47c 100644
--- a/FileIO/RapidXmlIO/BoostVtuInterface.cpp
+++ b/FileIO/RapidXmlIO/BoostVtuInterface.cpp
@@ -442,6 +442,7 @@ int BoostVtuInterface::write(std::ostream& stream)
 	celldata_node.put("<xmlattr>.Scalars", "MaterialIDs");
 
 	std::stringstream oss(std::stringstream::out);
+	oss.precision(stream.precision());
 	oss << std::endl << data_array_indent;
 	for (unsigned i = 0; i < nElems; i++)
 		oss << elements[i]->getValue() << " ";
diff --git a/FileIO/RapidXmlIO/RapidVtuInterface.cpp b/FileIO/RapidXmlIO/RapidVtuInterface.cpp
index 400431d1579dddf0b62458585e74edd2dc5bac08..6d560041355f1d0355732b08221e61660c0cd232 100644
--- a/FileIO/RapidXmlIO/RapidVtuInterface.cpp
+++ b/FileIO/RapidXmlIO/RapidVtuInterface.cpp
@@ -373,6 +373,7 @@ int RapidVtuInterface::write(std::ostream& stream)
 	celldata_node->append_attribute(_doc->allocate_attribute("Scalars", "MaterialIDs"));
 
 	std::stringstream oss(std::stringstream::out);
+	oss.precision(stream.precision());
 	oss << std::endl << data_array_indent;
 	for (unsigned i=0; i<nElems; i++)
 		oss << elements[i]->getValue() << " ";