| 123456789101112131415161718192021222324252627282930313233343536 | using Aitex.Core.Util;using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace CyberX8_RT.Devices.Reservoir{    public class LevelCurveManager : Singleton<LevelCurveManager>    {        /// <summary>        /// 计算Level        /// </summary>        /// <param name="waterLevel"></param>        /// <param name="levelCurve"></param>        /// <returns></returns>        public double CalculateLevelByWaterLevel(double waterLevel,string levelCurve)        {            string[] strAry= levelCurve.Split(',');            if (strAry.Length >= 3)            {                double.TryParse(strAry[strAry.Length - 1], out double c);                double.TryParse(strAry[strAry.Length-2], out double b);                double.TryParse(strAry[strAry.Length-3], out double a);                return a*Math.Pow(waterLevel,2)+b*waterLevel+c;            }            else            {                return 0;            }        }    }}
 |