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;