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