如何将字符串中的以下表达式作为整数求答?
表达式:
√(7+74) + √(30+6)
我是否必须评估每个参数,如Sqroot(7 + 74)和Sqroot(30 + 6),还是可以评估整个表达式。有什么想法吗?
答案 0 :(得分:2)
如果这个字符串是用户提供的(或者只在运行时可用)你需要的是一个数学表达式解析器(可能用sqrt
替换文本中的√字符或者在提供字符串之前解析器喜欢的任何内容它)。网上有很多免费的,我亲自使用info.lundin.math几次没有任何问题。
问题的快速示例:
info.lundin.Math.ExpressionParser parser = new info.lundin.Math.ExpressionParser();
double result = parser.Parse("sqrt(7+74)+sqrt(30+6)", null);
(在网站上,您可以找到更复杂的示例,例如可以通过编程方式指定的参数)
答案 1 :(得分:1)
您可以将NCalc用于此目的
NCalc.Expression expr = new NCalc.Expression("Sqrt(7+74) + Sqrt(30+6)");
object result = expr.Evaluate();