?????????????????????????е??????????????????????????????????

????????????

??????????????????????в?????????????????????????????????????????????????????????????????????????????????????

??????????Σ?????????????????檔

??????????????????????????е?????????????????????????????????????а??????????????????????????????????????μ??????????????е?????????????????????????

??????????齫??????????????????У???????????????????Σ?????????????????????ù?????????????????????????????????????????????????????????????????????????????

???????????????????????????????????????

????($B'1????????'+10-$G'??????????'+$J'N-213????')*5

???????? $ ??????????B??G??J??????????????????????????ú??????????????е???????????????????????????????????????????

?????????????·?????????е???????????????????滻?????????????????????????????????????????????????

????????????????

????????????????????????????????????????????滻??????????

????????????????????????????????????и??????????????

    private double EvaluateFormula(string formula)
    {
        foreach (var items in formula.Split('+'))
        {
            foreach (var item in items.Split('-'))
            {
                if (item.Trim()[0] != '$')
                {
                    continue;
                }

                var name = item.Replace("$"?? string.Empty);
                 
                string[] s = name.Split(''');
                switch (s[0])
                {
                    case "b":
                        formula = formula.Replace(item?? GetMeterValue(s[1]));
                        break;
                    case "g":
                        formula = formula.Replace(item?? GetTankValue(s[1]));
                        break;
                    case "j":
                        formula = formula.Replace(item?? GetNodeValue(s[1]));
                        break;
                }
            }
        }

        return EvaluateExpression(formula);
    }