From 250ef2967408625963f9d7f7fe1f77aa123fa6ce Mon Sep 17 00:00:00 2001 From: Jean-Paul Chaput Date: Wed, 13 Jan 2021 19:04:13 +0100 Subject: [PATCH] Fix the smart truncate display in DbU::getValueString(). --- hurricane/src/hurricane/DbU.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/hurricane/src/hurricane/DbU.cpp b/hurricane/src/hurricane/DbU.cpp index 0198dd7d..ff8f9c75 100644 --- a/hurricane/src/hurricane/DbU.cpp +++ b/hurricane/src/hurricane/DbU.cpp @@ -341,9 +341,15 @@ namespace Hurricane { } else if (mode & SmartTruncate) { size_t dot = s.rfind( '.' ); if (dot != string::npos) { - size_t end = dot+1; - for ( ; end < s.size() ; ++end ) if (s[end] != '0') break; - if (end == s.size()) s.erase( dot ); + size_t end = dot; + size_t nonzero = end; + for ( ; end < s.size() ; ++end ) { + if (s[end] != '0') nonzero = end; + } + if (nonzero == dot) s.erase( dot ); + else { + if (nonzero < s.size()) s.erase( nonzero+1 ); + } } } if (unitPower != ' ') s += unitPower;