C#中有没有计算字符串中算数表达式结果的方法
在一个winFrom里面,也许是一个奇怪的想法,我想获取的是比如TextBox里面的一行字符串,比如这行字符串写的是"1+2*(3+4)/5",当我按下回车或者某个按钮后...
在一个winFrom里面,也许是一个奇怪的想法,我想获取的是比如TextBox里面的一行字符串,比如这行字符串写的是"1+2*(3+4)/5",当我按下回车或者某个按钮后,程序自动的给我算出这个算数式的结果,还有我如何判断我输入的是个算数表达式而不是其他字符呢?如果需要使用正则表达式,那我应该如何写呢?顺便咨询一下,呵呵 希望各位高手可以指点一二,谢谢:)
展开
3个回答
展开全部
public static Microsoft.JScript.Vsa.VsaEngine Engine = Microsoft.JScript.Vsa.VsaEngine.CreateEngine();
public double EvalJScript(string JScript)
{
double Result = 0;
try
{
Result = System.Convert.ToDouble(Microsoft.JScript.Eval.JScriptEvaluate(JScript, Engine));
}
catch (Exception ex)
{
return -1;
}
return Result;
}
JScript 是表达式,Result是结果
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以解析这个算式了,数学符号不是很多,解析出来,形成算式就有结果,至于正则表达式,我不太清楚会不会有这个功能。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个要自己要自己写吧。或许有现成的第三方控件Google下吧。
似乎和编译原理的内容有关,以前课设的时候用过yacc,感觉要自己写的话比较麻烦。
似乎和编译原理的内容有关,以前课设的时候用过yacc,感觉要自己写的话比较麻烦。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询