title: C# rounding differently depending on platform?
body: <p>I have this tiny piece of code</p>
  
  <pre><code>double s = -2.6114289999999998;
  double s7 = Math.Round(s, 7);
  double s5 = Math.Round(s, 5);
  double s6 = Math.Round(s, 6);
  </code></pre>
  
  <p>With Platform = Any CPU, I get</p>
  
  <pre><code>s7: -2.611429   
  s5: -2.61143    
  s6: -2.611429   
  </code></pre>
  
  <p>With Platform = x64, I get</p>
  
  <pre><code>s7: -2.6114289999999998 
  s5: -2.61143    
  s6: -2.6114289999999998
  </code></pre>
  
  <p>Why? (Output copied from VS's Locals window)</p>
  
  <hr>
  
  <p>The whole piece of code is:</p>
  
  <pre><code>    private void btnAlign_Click(object sender, EventArgs e)
      {
          double s = -2.6114289999999998;
          double s7 = Math.Round(s, 7);
          double s5 = Math.Round(s, 5);
          double s6 = Math.Round(s, 6);
      }
  </code></pre>