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;

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

报告相同问题?

悬赏问题

  • ¥200 关于#c++#的问题,请各位专家解答!
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥15 绘制多分类任务的roc曲线时只画出了一类的roc,其它的auc显示为nan
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀