title: .NET/C# decimal serialization problems
body: <p>I have a class with a decimal property &amp; I'm serializing &amp; deserializing using JSON.NET. The problem I'm having is that if say the decimal value is 100000000000023063.0 , when I deserialize it gets converted to 100000000000023000. I have checked the JSON &amp; it's definitely recorded as 100000000000023063.0.</p>
  
  <p>I've looked into it &amp;</p>
  
  <pre><code>decimal.Parse("100000000000023063.0")
  </code></pre>
  
  <p>=</p>
  
  <pre><code>100000000000023063.0
  </code></pre>
  
  <p>but</p>
  
  <pre><code>var d = (decimal)100000000000023063.0
  </code></pre>
  
  <p>=</p>
  
  <pre><code>100000000000023000
  </code></pre>
  
  <p>I can get around this problem by storing as a string &amp; have a property that does decimal.Parse() but does anyone know why this is happening?</p>