title: Limiting significant digits in formatted durations
body: <p>I am timing some unpredictable I/O. This code</p>
  
  <pre><code>started := time.Now()
  time.Sleep(123456789 * time.Nanosecond) // unpredictable process    
  fmt.Printf("%v", time.Since(started))
  </code></pre>
  
  <p>Produces</p>
  
  <pre><code>123.456789ms
  </code></pre>
  
  <p>I like the automatic selection and printing of unit scale (ms, μs, ns etc) because I don't know in advance whether the timed operation takes microseconds, milliseconds or seconds to complete.</p>
  
  <p>I don't like the precision - I'd prefer to report only two or three significant digits. Is there a <em>simple</em> way to limit the precision in the formatting directive <code>%v</code> or similar?</p>