diff --git a/lib/token.cpp b/lib/token.cpp index 7c7d7a278a9e..9243c01aa81d 100644 --- a/lib/token.cpp +++ b/lib/token.cpp @@ -21,6 +21,7 @@ #include "astutils.h" #include "errortypes.h" #include "library.h" +#include "mathlib.h" #include "settings.h" #include "simplecpp.h" #include "symboldatabase.h" @@ -1801,7 +1802,7 @@ void Token::printValueFlow(bool xml, std::ostream &out) const break; case ValueFlow::Value::ValueType::FLOAT: outs += "floatvalue=\""; - outs += std::to_string(value.floatValue); // TODO: should this be MathLib::toString()? + outs += MathLib::toString(value.floatValue); outs += '\"'; break; case ValueFlow::Value::ValueType::MOVED: @@ -1875,7 +1876,6 @@ void Token::printValueFlow(bool xml, std::ostream &out) const outs += "/>\n"; } - else { if (&value != &values->front()) outs += ","; diff --git a/test/cli/other_test.py b/test/cli/other_test.py index d410d665d39e..1bbf11ba2abe 100644 --- a/test/cli/other_test.py +++ b/test/cli/other_test.py @@ -3129,8 +3129,8 @@ def test_debug_valueflow_xml(tmp_path): # #13606 value_elem = valueflow_elem[0].findall('values/value') assert len(value_elem) == 3 assert 'floatvalue' in value_elem[0].attrib - assert value_elem[0].attrib['floatvalue'] == '0.000000' + assert value_elem[0].attrib['floatvalue'] == '1e-07' assert 'floatvalue' in value_elem[1].attrib - assert value_elem[1].attrib['floatvalue'] == '0.000000' + assert value_elem[1].attrib['floatvalue'] == '1e-07' assert 'floatvalue' in value_elem[2].attrib - assert value_elem[2].attrib['floatvalue'] == '0.000000' \ No newline at end of file + assert value_elem[2].attrib['floatvalue'] == '1e-07' \ No newline at end of file