eg:dt.select("re<1.0")    re的类型为float类型,记录中也有可能re为null,我每次加数值判断大小时负数就不能判断,这是怎么回事

解决方案 »

  1.   


    我每次加数值判断大小时负数就不能判断 ?  什么意思
    http://msdn.microsoft.com/zh-cn/library/way3dy9w(VS.80).aspx
      

  2.   

    dt.select(" re != null and re < 1.0") ;or dt.AsEnumerable().Where(t=>t.Field<float>("re") != null && t.Field<float>("re") <1.0);
      

  3.   

    比如:dt.select("re < -1")时找不出相应的内容
      

  4.   

    你好,这里re !=null判断是错误的,直接判断re<1.0是可以内容的,但是比如-19.23就出不来了,不知道怎么回事,请指教,我是用vs2005的没有用linq
      

  5.   

    我就不写代码了, 
    参考 
    http://jasondct.blog.163.com/blog/static/81820673201179105523929/
      

  6.   

    没有问题啊?
    DataTable dt = new DataTable();
                dt.Columns.Add("txt", typeof(float));
                dt.Rows.Add();
                dt.Rows.Add();
                dt.Rows[0][0] = 2;
                dt.Rows[1][0] = -100;
                DataRow[] dr = dt.Select("txt<-10");
      

  7.   

    我试了下,没问题啊:
    DataTable dt = new DataTable();
    dt.Columns.Add("价格", typeof(float));
    dt.Rows.Add(-5.2);
    dt.Rows.Add(3.4);
    dt.Rows.Add(DBNull.Value);
    dt.Rows.Add(-1.85);
    DataRow[] rows = dt.Select("价格<-1");
    foreach (DataRow row in rows)
    Response.Write(row[0] + "<br/>");
    -5.2
    -1.85
      

  8.   

    比如说ds.select(convert(float,re)< 1.0) 试试看,或者转成其他类型的都试试