因为这一列中可能有的值在数据库中是NULL,计算和的时候会出错
要加一个判断是否值为NULL,如果不是的话才计算和判断语句如下:           if (e.Row.Cells[2].Text.ToString() !=null); 
            {
                double b = Convert.ToDouble(e.Row.Cells[2].Text);
                sum_money += b;   
            } 
这里的判断语句还是有问题,没有实现我想要的结果,我查了下往上,貌似e.Row.Cells[2].Text里面有个空格,这个空格要怎么判断呢?这里就要请教下大家了

解决方案 »

  1.   

    顶一下,我用xxxxxx.trim()!=null判断也不行啊
      

  2.   

    你直接判断能不能转换成double类型的 如果转换成功就相加
    失败则不加  不就行了吗
      

  3.   

    我断点了一下,貌似发现问题了,那个tostring后是" "
    但是如果我的判断改成if (e.Row.Cells[2].Text.ToString() !=" "); 结果还是有错啊,错误是:输入字符串的格式不正确。
      

  4.   

    if (e.Row.Cells[2].Text !=null) 或者 
    if (e.Row.Cells[2].Text.ToString() != ""); 
      

  5.   

    额,麻烦告知一下,这个怎么判断是否成功转换成double类型啊?我实在是菜鸟,刚开始学,不懂啊
      

  6.   

    try
    {
       double b = Convert.ToDouble(e.Row.Cells[2].Text);
       sum_money += b;   
    }
    catch {}
    这样就可以了....
      

  7.   

    也可在查询的时候判断 
    select isnull(yourfield,0) from tablename --如果这个字段在值为null 就查出0  方便加了吧
      

  8.   


    哎,菜鸟就是菜鸟啊, 我怎么没想到用try和catch呢谢谢你!
      

  9.   

    应该是
    if (e.Row.Cells[2].Text !=null) 并且
    if (e.Row.Cells[2].Text.ToString() != "");