diff --git a/cccli/tagdisplay.py b/cccli/tagdisplay.py
index aeb624e239cc950045439991ec9b8cbb893fa79f..b45f89fcd87a4ead945db6cc0dd533377b481995 100644
--- a/cccli/tagdisplay.py
+++ b/cccli/tagdisplay.py
@@ -117,7 +117,7 @@ class TagDisplay(object):
                 p = min(math.floor(math.log10(abs(v))/3.0), len(si))
                 d = v / pow(10, 3*p)
                 u = si[int(p-1)]
-                value =  u"%.1f%s"%(d, u)
+                value =  u"%.4g%s"%(d, u)
         return value
 
     def type_bit(self, value):
@@ -129,7 +129,7 @@ class TagDisplay(object):
                 p = min(math.floor(math.log(abs(v), 2)/10.0), pow(2, len(si)))
                 d = v / pow(2, 10*p)
                 u = si[int(p-1)]
-                value =  u"%.1f%si"%(d, u)
+                value =  u"%.4g%si"%(d, u)
         return value
 
     def type_second(self, value):