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