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 { /// /// 计算Level /// /// /// /// 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; } } } }