title: Math.Truncate return incorrect decimal cut off
body: <p>A weird thing happened when I tried to add 4 decimals (demanded in solution) to a 2-decimal double value:</p>
  
  <p><strong>Incorrect value:</strong></p>
  
  <pre><code>    var result = string.Format("{0:#,0.0000}", Math.Truncate(2.03*10000)/10000);
  </code></pre>
  
  <p>//Returns 2.0299</p>
  
  <p><strong>Correct values:</strong></p>
  
  <pre><code>    var result = string.Format("{0:#,0.0000}", Math.Truncate(2.02*10000)/10000);
  </code></pre>
  
  <p>//Returns 2.0200</p>
  
  <p><strong>And:</strong></p>
  
  <pre><code>    var result = string.Format("{0:#,0.0000}", Math.Truncate(2.04*10000)/10000);
  </code></pre>
  
  <p>//Returns 2.0400</p>
  
  <p>Any idea why this happens ONLY to 2.03? 12.03 as input value returns 12.0300 btw.</p>
  
  <p>I am lost. Please help.</p>