title: Why does printf() with %f lose a digit after decimal point sometimes?
body: <p>Why does the statement</p>
  
  <pre><code>printf("%f", sensorvalue)
  </code></pre>
  
  <p>print out a string like “11312.96” (with two digits after decimal points) most of the time, but sometimes print out a string like “11313.1” (with one digit after decimal point)? <code>sensorvalue</code> is read from a power meter continuously. The values at different times are supposed to have the same format.</p>
  
  <p>It's C running on Linux.</p>