Expression: use a precision that ensures no floating point issue

This commit is contained in:
0penBrain
2023-04-02 20:32:54 +02:00
committed by wwmayer
parent 9b944f4f20
commit 8dcbd7080e

View File

@@ -1320,7 +1320,7 @@ void NumberExpression::_toString(std::ostream &ss, bool,int) const
// https://en.cppreference.com/w/cpp/types/numeric_limits/max_digits10
// https://www.boost.org/doc/libs/1_63_0/libs/multiprecision/doc/html/boost_multiprecision/tut/limits/constants.html
boost::io::ios_flags_saver ifs(ss);
ss << std::setprecision(std::numeric_limits<double>::digits10 + 1) << getValue();
ss << std::setprecision(std::numeric_limits<double>::digits10) << getValue();
/* Trim of any extra spaces */
//while (s.size() > 0 && s[s.size() - 1] == ' ')