zoukankan      html  css  js  c++  java
  • c# 常见的取中值(去掉最大值,最小值,剩下的值求平均)

     public object Getmedianaverage(int number,  DateTime startdate, DateTime enddate)
            {
                #region 中值平均
                number = 5;
                string sql = string.Format("SELECT ID,DEEP_DISPLACEMENT_X_VALUE,ACQUISITION_DATETIME FROM  [dbo].[T_THEMES_DEFORMATION_DEEP_DISPLACEMENT]  WHERE ACQUISITION_DATETIME BETWEEN '{0}' AND '{1}' ", "2020-05-15 10:55:13", "2020-05-15 20:55:13");
                DataTable Datalist = SqlHelper.ExecuteDataSetText(sql, null).Tables[0];
                List<Medianaavg> oldMedianaavg = new List<Medianaavg>();
                // 原数组
                foreach (DataRow item in Datalist.Rows)
                {
                    Medianaavg avginfo = new Medianaavg();
                    avginfo.id = int.Parse(item["ID"].ToString());
                    avginfo.value = double.Parse(item["DEEP_DISPLACEMENT_X_VALUE"].ToString());
                    avginfo.date = DateTime.Parse(item["ACQUISITION_DATETIME"].ToString());
                    oldMedianaavg.Add(avginfo);
                }
                //新数组
                List<NewMedianaavg> NewMedianaavg = new List<NewMedianaavg>();
                foreach (var index in oldMedianaavg)
                {
                    NewMedianaavg Newinfo = new NewMedianaavg();
                    Newinfo.id = index.id;
                    Newinfo.value = index.value;
                    Newinfo.date = index.date;
                    NewMedianaavg.Add(Newinfo);
                }
                List<Beforeorder> orderlist = new List<Beforeorder>();
                int c = 0;
                for (int i = 0; i <oldMedianaavg.Count; i++)
                {
                    //排序前添加
                    for (int a = 0 +c; a < number +c; a++)
                    {
                        Beforeorder orderinfo = new Beforeorder();
                        orderinfo.id = oldMedianaavg[a].id;
                        orderinfo.value = oldMedianaavg[a].value;
                        orderinfo.date = oldMedianaavg[a].date;
                        orderlist.Add(orderinfo);
                    }
                    //排序计算
                    var query = from items in orderlist orderby items.value select items;           
                    List<afterorder> afterorderlist = new List<afterorder>(); //满足传过来条件,排序后 放入数据的临时数组
                   //排序后的值添加到数组
                    foreach (var item in query)
                    {
                        afterorder afterinfo = new afterorder();
                        afterinfo.id = item.id;
                        afterinfo.value = item.value;
                        afterinfo.date = item.date;
                        afterorderlist.Add(afterinfo);
                    }
                    //去掉最小值
                    afterorderlist.RemoveAt(afterorderlist.Count - (afterorderlist.Count));
                    // 去掉最大值
                    afterorderlist.RemoveAt(afterorderlist.Count - 1);
                    double aftersum = 0.0;
                    double afteravg = 0.0;
                    for (int d = 0; d < afterorderlist.Count; d++)
                    {
                        aftersum += afterorderlist[d].value;
                        
                    }
                    afteravg = Math.Round(Math.Round(aftersum, 6) / afterorderlist.Count,6);
                    if (number + c < NewMedianaavg.Count)
                    { 
                    NewMedianaavg[number + c].value = afteravg;
                    }
                    //清空
                    orderlist = new List<Beforeorder>();
                    //清空排序后的数组使一直保存五条数据
                    afterorderlist = new List<afterorder>();
                    c++;
                }
    
                MedianaavgCollection collection = new MedianaavgCollection();
                collection.oldMediandata = oldMedianaavg;
                collection.newMediandata = NewMedianaavg;
                return collection;
                #endregion
            }
    

      

  • 相关阅读:
    webpack学习04--打包图片资源
    webpack学习03--打包HTML资源
    webpack学习02--打包样式资源
    webpack学习01--基本使用
    Node.js学习02--创建express服务
    Node.js学习01--npm常用命令
    CSS3的flex布局
    PictureCleaner 官方版 v1.1.5.0607,免费的图片校正及漂白专业工具,专业去除文档图片黑底麻点杂色,规格化A4、B5尺寸输出,还你一个清晰的文本。
    python常识系列22-->jsonpath模块解析json数据
    杂七杂八的问题处理05--jmeter解决部分情况下jtl报告转html报告报错
  • 原文地址:https://www.cnblogs.com/lvqianqian/p/14848908.html
Copyright © 2011-2022 走看看