c# why is my DECIMAL negative?
<p>here is how i call the following function:</p>

<pre><code>    List&lt;decimal&gt; numbers = new List&lt;decimal&gt;();

    numbers.Add(210m);
    numbers.Add(188.83m);
    numbers.Add(67.93m);
    numbers.Add(125.92m);
    numbers.Add(35.92m);
    numbers.Add(19.16m);
    numbers.Add(98.48m);



    List&lt;decimal&gt; listresult = FindSumSubset(9075.12m, numbers);
</code></pre>

<p><em><strong></em>**<em>*</em>**<em>*</em>**<em>*</em>***</strong><em>the function</em>*</p>

<pre><code>List&lt;decimal&gt; FindSumSubset(decimal sum, List&lt;decimal&gt; list)
            {
               for (int i = 0; i &lt; list.Count; i++)
               {
                  decimal value = list[i];
                  if (sum - value == 0.0m)
                  {
                      return new List&lt;decimal&gt; { value };
                  }
                  else
                  {
                      var subset = FindSumSubset(sum - value, list.GetRange(i + 1, list.Count-1 -i));
                      if (subset != null)
                      {
                          subset.Add(value);
                          return subset;


                      }
                  }
               }
               return null;
            }
</code></pre>

<p>when i run in debug mode, the <code>decimal sum</code> is giving me a huge negative value like <code>-93435.34</code></p>

<p>how can this be happening?</p>
