title: How is Python's ROUND_HALF_EVEN supposed to handle decimals smaller than 1?
body: <p>It appears that in every definition I can find of <code>round half to even</code> includes <code>nearest even integer</code> (e.g., Python's <a href="http://docs.python.org/2/library/decimal.html#decimal.Context" rel="nofollow">decimal documentation</a>), as if ONLY integers are rounded to. However, if I round decimals smaller than 1, it appears to follow the same principal, only assigning the role of <code>integer</code> to the decimal place that I am rounding to. Example:</p>
  
  <pre><code>&gt;&gt;&gt; THREE_PLACES = decimal.Decimal('0.000')
  &gt;&gt;&gt;
  &gt;&gt;&gt; decimal.Decimal('.0005').quantize(THREE_PLACES)
  &gt;&gt;&gt; Decimal('0.000')
  &gt;&gt;&gt;
  &gt;&gt;&gt; decimal.Decimal('.0015').quantize(THREE_PLACES)
  &gt;&gt;&gt; Decimal('0.002')
  </code></pre>
  
  <p>In this example, the value of third decimal place seems to play the role of the integer (rounding down to <code>0</code> and up to <code>2</code>). Is this <strong>the</strong> specified way of handling numbers less than zero (and thus how Python's <code>ROUND_HALF_EVEN</code> is supposed to function), and if so, am I just misunderstanding the meaning of "integer" in this context? Or, is there more to the story, and perhaps this is merely a coincidence?</p>