做一个动态计算器
Make an dynamically 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。
我如何计算数字?
您将如何在我的代码中实现该逻辑?
var res = new DataTable().Compute("1-2/3*4", null);
编辑: 另请注意,您可以使用数据中的字段 table 来执行诸如对名为 "Total" 的列求和的功能
var Total = DataTable().Compute("Sum(Total)", null);
另一种选择是使用 IronPython 和 IronRuby:
var res = new IronPython.Hosting.PythonEngine().EvaluateAs<double>("1-2/3*4");
我的首选方案是使用 NCalc
我想做一个计算器。 到目前为止我的代码是。
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);
编辑: 另请注意,您可以使用数据中的字段 table 来执行诸如对名为 "Total" 的列求和的功能
var Total = DataTable().Compute("Sum(Total)", null);
另一种选择是使用 IronPython 和 IronRuby:
var res = new IronPython.Hosting.PythonEngine().EvaluateAs<double>("1-2/3*4");
我的首选方案是使用 NCalc