title: C# loss of precision when dividing doubles
body: <p>I know this has been discussed time and time again, but I can't seem to get even the most simple example of a one-step division of doubles to result in the expected, unrounded outcome in C# - so I'm wondering if perhaps there's i.e. some compiler flag or something else strange I'm not thinking of.  Consider this example:                </p>
  
  <pre><code>double v1 = 0.7;
  double v2 = 0.025;
  double result = v1 / v2;
  </code></pre>
  
  <p>When I break after the last line and examine it in the VS debugger, the value of "result" is 27.999999999999996.  I'm aware that I can resolve it by changing to "decimal," but that's not possible in the case of the surrounding program.  Is it not strange that two low-precision doubles like this can't divide to the correct value of 28?  Is the only solution really to Math.Round the result?</p>