title: Why round off of 0.500000 in python differs from 45.500000 using '%.0f'?
body: <p>Recently, I learned art of string formatting in Python 2.7.
  I decided to play with floating point numbers. <br>
  Came across an awkward looking solution, as written below.<br></p>
  
  <pre><code>print "%.0f"%45.5000000 #46
  print "%.0f"%0.5000000 #0
  
  #Why??
  </code></pre>
  
  <p>BUT</p>
  
  <pre><code>print int(round(45.5000000)) #46
  print int(round(0.5000000)) #1
  </code></pre>
  
  <p>Please help me understand, why this behavior is shown by <code>%f</code>.</p>