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 django项目运行报编码错误
  • ¥15 请问这个是什么意思?
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流
  • ¥15 Rstudio 保存代码闪退