diff --git a/GUI/View/Numeric/DoubleSpinBox.cpp b/GUI/View/Numeric/DoubleSpinBox.cpp index 120fd5daaeaf795f98625214449e00fc2f28d246..f31755328d2ee3e83277d4158e46b88a5f08efd0 100644 --- a/GUI/View/Numeric/DoubleSpinBox.cpp +++ b/GUI/View/Numeric/DoubleSpinBox.cpp @@ -22,15 +22,17 @@ namespace { -QString toString(double val, int decimal_points = 4) +QString toString(double val, int decimal_points = 4) // TODO merge with other toString fcts { if (val == 0) return "0"; - QString result = (val >= 1000 || val < 0.1) ? QString::number(val, 'e', decimal_points) + QString result = (val >= 10000 || val < 0.1) ? QString::number(val, 'e', decimal_points) : QString::number(val, 'f', decimal_points); - return result.replace(QRegularExpression("(\\.?0+)?((e[\\+|-])(0+)?([1-9].*))?$"), "\\3\\5"); + // suppress ".0" in mantissa; normalize exponent + return result.replace(QRegularExpression("(\\.?0+)?((e)([\\+]?)([-]?)(0*)([1-9].*))?$"), + "\\3\\5\\7"); } } // namespace