happyleo12 2016-12-22 08:14 采纳率: 50%
浏览 1197
已采纳

C#datatable不能正确显示平均数

AVG不能正常显示平均数,怎么办

 DataTable dt = new DataTable("rawData");

            //新建行和列
            dt.Columns.Add("Time");
            dt.Columns.Add("FeederErr");
            dt.Columns.Add("NozzleErr");
            dt.Columns.Add("HeadErr");
            dt.Columns.Add("AVG");

            //获取数据
            DataTable a = BLL.NXTChartMgr.GetNozzleData();
            DataTable b = BLL.NXTChartMgr.GetFeederData();
            DataTable c = BLL.NXTChartMgr.GetHeadData();

            //先循环A,循环一条A,再找B和C,再插入到结果表里
            foreach (DataRow drA in a.Rows)
            {
                //得到B和C的Err
                DataRow drB = b.Select("MACHINE='" + drA["MACHINE"] + "' and uplddte= '" + drA["uplddte"] +"'")[0];
                DataRow drC = c.Select("MACHINE='" + drA["MACHINE"] + "' and uplddte= '" + drA["uplddte"] +"'")[0];
                //计算avg值
                List<double> list = new List<double>();
                for (int i = 0; i < a.Rows.Count; i++)
                {
                    double d = (Convert.ToDouble(a.Rows[i]["NozzleErr"]) + Convert.ToDouble(b.Rows[i]["FeederErr"]) + Convert.ToDouble(c.Rows[i]["HeadErr"])) / 3;
                    list.Add(d);
                }

                //新建一行
                DataRow dr = dt.NewRow();
                //赋值
                dr["Time"] = drA["uplddte"];
                dr["NozzleErr"] = drA["NozzleErr"];
                dr["FeederErr"] = drB["FeederErr"];
                dr["HeadErr"] = drC["HeadErr"];
                dr["AVG"] = list;
                //构造dr后,插入dt
                dt.Rows.Add(dr);
            }

            return dt;

图片说明

  • 写回答

1条回答 默认 最新

  • hehexiaoxia 2016-12-22 09:14
    关注

    datatable不能显示list泛型或者列表的,你可以把list转换成string的形式。
    如:
    string strAvg ="";
    foreach(double avg in list)
    {
    strAvg += avg + ",";
    }
    strAvg = strAvg.substring(0, strAvg.length-1);

    dr["AVG"] = strAvg;

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 Python爬取指定微博话题下的内容,保存为txt
  • ¥15 vue2登录调用后端接口如何实现
  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?