diff --git a/coregrind/m_debuglog.c b/coregrind/m_debuglog.c
index 5c2c96c..469c694 100644
--- a/coregrind/m_debuglog.c
+++ b/coregrind/m_debuglog.c
@@ -1006,10 +1006,17 @@
             /* Silently limit the precision to 10 digits. */
             if (precision > 10) precision = 10;
 
-            /* If fracional part is not printed (precision == 0), may have to
-               round up */
-            if (precision == 0 && frac >= 0.5)
+            /* Determine fractional part, possibly round up */
+            ULong factor = 1;
+            for (cnt = 0; cnt < precision; ++cnt)
+               factor *= 10;
+            ULong frval = frac * factor;
+            if ((frac * factor - frval) > 0.5)    // round up
+               frval += 1;
+            /* Check rounding. */
+            if (frval == factor)
                ipval += 1;
+            frval %= factor;
 
             /* Find out how many characters are needed to print the number */
 
@@ -1046,14 +1053,6 @@
                send('.', send_arg2);
                ret += 1;
 
-               // Fractional part
-               ULong factor = 1;
-               for (cnt = 0; cnt < precision; ++cnt)
-                  factor *= 10;
-               ULong frval = frac * factor;
-               if ((frac * factor - frval) > 0.5)    // round up
-                  frval += 1;
-               frval %= factor;
                ret += myvprintf_int64(send, send_arg2, VG_MSG_ZJUSTIFY, 10,
                                       precision, False, frval);
             }
diff --git a/none/tests/unit_debuglog.c b/none/tests/unit_debuglog.c
index 1bd1d2a..7a71d04 100644
--- a/none/tests/unit_debuglog.c
+++ b/none/tests/unit_debuglog.c
@@ -149,5 +149,13 @@
   run("|%100lld|", ival);
   run("|%*lld|", 13, ival);
 
+  value = 0.99685224;
+  run("|%3.0f|", value);
+  run("|%3.1f|", value);
+  run("|%3.2f|", value);
+  run("|%3.3f|", value);
+  run("|%3.4f|", value);
+  run("|%3.5f|", value);
+
   return 0;
 }
diff --git a/none/tests/unit_debuglog.stderr.exp b/none/tests/unit_debuglog.stderr.exp
index c8dc03f..177a91b 100644
--- a/none/tests/unit_debuglog.stderr.exp
+++ b/none/tests/unit_debuglog.stderr.exp
@@ -127,3 +127,15 @@
 |%100lld|	debuglog = |                                                                                            -1004005|	wrote 102 chars
 |%*lld|	printf =   |     -1004005|	wrote  15 chars
 |%*lld|	debuglog = |     -1004005|	wrote  15 chars
+|%3.0f|	printf =   |  1|	wrote   5 chars
+|%3.0f|	debuglog = |  1|	wrote   5 chars
+|%3.1f|	printf =   |1.0|	wrote   5 chars
+|%3.1f|	debuglog = |1.0|	wrote   5 chars
+|%3.2f|	printf =   |1.00|	wrote   6 chars
+|%3.2f|	debuglog = |1.00|	wrote   6 chars
+|%3.3f|	printf =   |0.997|	wrote   7 chars
+|%3.3f|	debuglog = |0.997|	wrote   7 chars
+|%3.4f|	printf =   |0.9969|	wrote   8 chars
+|%3.4f|	debuglog = |0.9969|	wrote   8 chars
+|%3.5f|	printf =   |0.99685|	wrote   9 chars
+|%3.5f|	debuglog = |0.99685|	wrote   9 chars
