例如,如果用户以 a + b 的形式给出输入,则过程应该是添加两个已经声明为 int a, int b 的变量
int a = 7;
int b = 8;
string formula = console.readline();
如果用户键入 a + b 作为公式,我需要帮助
例如,如果用户以 a + b 的形式给出输入,则过程应该是添加两个已经声明为 int a, int b 的变量
int a = 7;
int b = 8;
string formula = console.readline();
如果用户键入 a + b 作为公式,我需要帮助
您尝试评估数学表达式。我建议使用NCalc
NCalc是 .NET 中的数学表达式求值器。NCalc 可以解析任何表达式并评估结果,包括静态或动态参数和自定义函数。
你可以这样做:
int a = 7;
int b = 8;
string formula = "a+b";
formula=formula.Replace("a",a.ToString()).Replace("b",b.ToString());
var calc = new System.Data.DataTable();
Console.WriteLine(calc.Compute(formula, ""));
前一段时间做了这个来评估这样的表达式
private static double Calc(string expression)
{
try
{
var table = new System.Data.DataTable();
table.Columns.Add("expression", string.Empty.GetType(), expression);
System.Data.DataRow row = table.NewRow();
table.Rows.Add(row);
return double.Parse((string)row["expression"]);
}
catch (Exception)
{
return 0;
}
}
此代码允许用户输入两个数字和他或她想要的操作员
Console.WriteLine("Please enter the first number");
int a = int.Parse(Console.ReadLine());
Console.WriteLine("Enter the operator you want to use");
string c = Console.ReadLine() ;
Console.WriteLine("Enter the last number");
int b = int.Parse(Console.ReadLine());
string formula = "acb";
formula = formula.Replace("a", a.ToString()).Replace("b", b.ToString()).Replace("c", c.ToString());
var calc = new System.Data.DataTable();
Console.WriteLine(calc.Compute(formula, ""));