数据集按十进制添加值但返回0

时间:2014-07-16 10:11:12

标签: c# .net dataset decimal

我有一个包含2列的数据集。 我将2个值加在一起,都是对象(十进制)类型。

private decimal CalculateCensusForChild(DataSet dsGADCensusDetails)
    {
        var total = 0.00M;
        foreach (DataRow dr in dsGADCensusDetails.Tables[0].Rows)
        {
            total += WebUtility.Cast(dr["Male"], 0.00M) + WebUtility.Cast(dr["Female"], 0.00M);
        }
        return total;
    }

public static decimal Cast(Object aValue, decimal aOnError)
    {
        decimal result;
        try
        {
            result = decimal.Parse(aValue.ToString());
        }
        catch
        {
            result = aOnError;
        }
        return result;
    }

当值为整数int时,总返回正常,但我正在寻找它们是十进制值,因此返回一个十进制值,我稍后将变成一个没有小数位的字符串。

例如0.65 + 0.25返回0.

总数将始终等于整数,但在UI上需要显示小数值以减少舍入,因此可能看起来没有必要,但这就是我们生活的世界。

所以我认为我正在搞乱语法将它转换为十进制,而它正在添加,但任何其他想法都非常受欢迎。

干杯人。

0 个答案:

没有答案