平方根的C-sharp数学问题

时间:2012-03-19 10:49:39

标签: c# asp.net .net math

如何将字符串中的以下表达式作为整数求答?

表达式:

√(7+74) + √(30+6)

我是否必须评估每个参数,如Sqroot(7 + 74)和Sqroot(30 + 6),还是可以评估整个表达式。有什么想法吗?

2 个答案:

答案 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();