in C# (int) decimal and Convert.Int32(decimal) give me two different results
<p>I understand that there are rounding errors but can anyone explain why I get such different results using these different methods:</p>

<pre><code>decimal amount = 9.990M;
var cost = Convert.ToInt32(amount*1000);
var cost1 = (int) amount*1000;
</code></pre>

<p>I get:</p>

<pre><code>cost = 9990
cost1 = 9000
</code></pre>
