制作一个动态计算器

本文关键字:一个 动态 计算器 | 更新日期: 2023-09-27 17:56:37

我想做一个计算器。到目前为止,我的代码是。

            string input;
            input = Console.ReadLine();
            List<string> numbers = new List<string>();
            string curNumber = "";
            foreach (char c in input)
            {
               if (c =='+'|| c =='-'||c =='/'||c =='*')
               {
                   numbers.Add(curNumber);
                   curNumber = "";
               }
               else
               {
                   curNumber += c.ToString();
               }
            }

现在我不知道我应该如何进一步处理这些数字。例如,如果输入为:20+3+13-17。如何计算数字?您将如何在我的代码中实现该逻辑?

制作一个动态计算器

var res = new DataTable().Compute("1-2/3*4", null);


编辑:另请注意,您可以使用数据表中的字段来执行诸如对名为"总计"的列求和等功能。
 var Total = DataTable().Compute("Sum(Total)", null);

我的首选选项是使用 NCalc

另一种选择是使用IronPython和IronRuby:

    var res = new IronPython.Hosting.PythonEngine().EvaluateAs<double>("1-2/3*4");