在c#中,输入要用作公式的字符串
本文关键字:字符串 输入 | 更新日期: 2023-09-27 18:10:22
我找到了分流场算法,但感觉情况有点不同。如果您输入的公式中有您希望在另一个公式
中使用的变量,该怎么办?输入
cout<<"enter string"<<endl;
cin>>f;
然后输入f作为
3 * (X*X) + 2*X + 7
,您使用字符串并解析它以查找根,例如
虽然很难理解您在寻找什么,但它暗示了将字符串作为公式求值的能力。如果您正在寻找类似Eval的解决方案,请查看nCalc。剽窃他们的网页:
Expression e = new Expression("2 + 3 * 5");
Debug.Assert(17 == e.Evaluate());
它还允许您使用参数,如
e.Parameters["X"] = 10;
,然后使用X作为字符串的一部分来求值。
它允许您将表示公式的字符串转换为它的最终值。如果你不是在问如何解释公式中的字符串,那么我对你问的问题感到茫然。我建议修改你的问题,以更好地阐明你提议的功能的输入和输出。
我想到的一个解决方案是,也许你可以在运行时从该字符串创建一个有效的c#代码,并使其编译,并使其执行。例如,您的代码可能会在内存中变成
using namespace FormulaCalculator
{
public class Calculator
{
public static object Calculate()
{
return 3 * (X*X) + 2*X + 7 ; //where X is replaced value at runtime.
}
}
}
用CodeDome在内存程序集中编译并运行。下面是一个示例示例
object resultOfFormula = FormulaCalculator.Calculator.Calculate()