DataGridView中的Sum列忽略负数

时间:2011-09-15 13:04:58

标签: c# winforms datagridview sum

您好我需要忽略DGV列总和中的负数。我用来添加值的代码如下:

private double DGVTotal()
    {
        double tot = 0;
        int i = 0;
        for (i = 0; i < dataGridView1.Rows.Count; i++)
        {
            tot = tot + Convert.ToDouble(dataGridView1.Rows[i].Cells["Total"].Value);
        }
        return tot;
    }

如果Row的值为负数而不将其包括在总和中,我将如何更改?

谢谢!

4 个答案:

答案 0 :(得分:2)

换一行:

tot = tot + Math.Max(0, Convert.ToDouble(dataGridView1.Rows[i].Cells["Total"].Value));
  

看马!没有IF!没有三元运营商!只是简单的数学!

答案 1 :(得分:0)

这样的事情:

private double DGVTotal()
    {
        double tot = 0;
        int i = 0;
        for (i = 0; i < dataGridView1.Rows.Count; i++)
        {
            Double dbTemp = Convert.ToDouble(dataGridView1.Rows[i].Cells["Total"].Value);
            if (dbTemp > 0)
               tot = tot + dbTemp;
        }
        return tot;
    }

答案 2 :(得分:0)

for循环的主体更改为

    {
        double rowValue = Convert.ToDouble(dataGridView1.Rows[i].Cells["Total"].Value);
        if (rowValue > 0)
            tot += rowValue;
    }

答案 3 :(得分:0)

for (i = 0; i < dataGridView1.Rows.Count; i++)
{
    double val = Convert.ToDouble(dataGridView1.Rows[i].Cells["Total"].Value);
    tot = tot + val > 0.0 ? val : 0.0;
}