/// <summary> /// 返回增值(%) /// </summary> /// <param name="interval"></param> /// <returns></returns> public override double?GetIncrease(int days) { DateTime time = LastDay.AddDays(-days); DateTime realTime = time; int addDays = -1; while (!HistoryDic.Keys.Contains(realTime)) { realTime = time.AddDays(addDays); addDays = addDays < 0 ? -addDays : -addDays - 1; if (addDays > 30) { return(null); //超过范围 返回空 } } double?value = HistoryDic[LastDay]; double?hisValue = HistoryDic[realTime]; if (days < 5) { hisValue = HistoryDic.Values.Take(days + 1).Last(); // 五天内按连续天数取 } double?result = 100 * (value - hisValue) / hisValue; return(Math.Round((double)result, 2)); }