制作动态计算器

时间:2015-06-17 09:02:30

标签: c# calculator

我想制作一个计算器。 我的代码到现在为止。

            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。 我该如何计算数字? 你将如何在我的代码中实现该逻辑?

3 个答案:

答案 0 :(得分:2)

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

<小时/> 编辑:另请注意,您可以使用数据表中的字段执行功能,例如汇总名为&#34; Total&#34;的列。

 var Total = DataTable().Compute("Sum(Total)", null);

答案 1 :(得分:2)

我首选的选项是使用NCalc

答案 2 :(得分:1)

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

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