private static DataTable renderStatTable(StatRecord statRecord1, StatRecord statRecord2) { DataTable dt = DataTableManager.newDataTable(new string[] { "名称", "总人数", "平均分", "高分线","高分人数","高分率", "低分线","低分人数","低分率" }); float highRate = statRecord1.getHighScoreCount()*1000*0.1f/statRecord1.getTotalCount(); float lowRate = statRecord1.getLowScoreCount()*1000*0.1f/statRecord1.getTotalCount(); DataRow dr = dt.NewRow(); dr[0] = "上次统计结果"; dr[1] = statRecord1.getTotalCount(); dr[2] = Convert.ToDecimal(statRecord1.getMeanScore()).ToString("0.00"); dr[3] = Convert.ToDecimal(statRecord1.highScoreLine + 0.0001f).ToString("0.00") ; dr[4] = statRecord1.getHighScoreCount(); dr[5] = Convert.ToDecimal(highRate).ToString("0.00")+"%"; dr[6] = Convert.ToDecimal(statRecord1.lowScoreLine + 0.0001f).ToString("0.00"); dr[7] = statRecord1.getLowScoreCount(); dr[8] = Convert.ToDecimal(lowRate).ToString("0.00") + "%"; dt.Rows.Add(dr); dr = dt.NewRow(); float highRate2 = statRecord2.getHighScoreCount()*100/statRecord2.getTotalCount(); float lowRate2 = statRecord2.getLowScoreCount()*100/statRecord2.getTotalCount(); dr[0] = "本次统计结果"; dr[1] = statRecord2.getTotalCount(); dr[2] = Convert.ToDecimal(statRecord2.getMeanScore()).ToString("0.00"); dr[3] = Convert.ToDecimal(statRecord2.highScoreLine+0.0001f).ToString("0.00"); dr[4] = statRecord2.getHighScoreCount(); dr[5] = Convert.ToDecimal(highRate2).ToString("0.00") + "%"; dr[6] = Convert.ToDecimal(statRecord2.lowScoreLine+0.0001f).ToString("0.00"); dr[7] = statRecord2.getLowScoreCount(); dr[8] = Convert.ToDecimal(lowRate2).ToString("0.00") + "%"; dt.Rows.Add(dr); dr = dt.NewRow(); dr[0] = "比较结果"; dr[1] = statRecord2.getTotalCount(); dr[2] = Convert.ToDecimal(statRecord2.getMeanScore()-statRecord1.getMeanScore()).ToString("0.00"); //平均分提升率 dr[3] = statRecord2.highScoreLine - statRecord1.highScoreLine; dr[4] = statRecord2.getHighScoreCount() - statRecord1.getHighScoreCount(); dr[5] = Convert.ToDecimal((highRate2 - highRate)).ToString("0.00") + "%"; //高分提高率 dr[6] = statRecord2.lowScoreLine - statRecord1.lowScoreLine; dr[7] = statRecord2.getLowScoreCount() - statRecord1.getLowScoreCount(); dr[8] = Convert.ToDecimal(lowRate2 - lowRate).ToString("0.00") + "%"; dt.Rows.Add(dr); return dt; }