title: Decimal vs Double Speed
body: <p>I write financial applications where I constantly battle the decision to use a double vs using a decimal.</p>
  
  <p>All of my math works on numbers with no more than 5 decimal places and are not larger than ~100,000. I have a feeling that all of these can be represented as doubles anyways without rounding error, but have never been sure.</p>
  
  <p>I would go ahead and make the switch from decimals to doubles for the obvious speed advantage, except that at the end of the day, I still use the ToString method to transmit prices to exchanges, and need to make sure it always outputs the number I expect. (89.99 instead of 89.99000000001)</p>
  
  <p>Questions:</p>
  
  <ol>
  <li>Is the speed advantage really as large as naive tests suggest? (~100 times)</li>
  <li>Is there a way to guarantee the output from ToString to be what I want? Is this assured by the fact that my number is always representable?</li>
  </ol>
  
  <p>UPDATE: I have to process ~ 10 billion price updates before my app can run, and I have implemented with decimal right now for the obvious protective reasons, but it takes ~3 hours just to turn on, doubles would dramatically reduce my turn on time. Is there a safe way to do it with doubles?</p>