C#计算表达式(仿计算器功能)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#计算表达式(仿计算器功能)相关的知识,希望对你有一定的参考价值。
一、用MSScriptControl在C#中执行javascript代码javascript中有个eval方法用过的人都知道他的方便和强大之处。
在C#中,我们也可以通过Com组件来执行一段javascript代码。
下面的代码展示了如何用MSScriptControl 组件执行一段数学表达式:
MSScriptControl.ScriptControlClass sc = new MSScriptControl.ScriptControlClass(); sc.Language = "javascript"; object obj = sc.Eval("500-(110-100)/2*6"); Console.WriteLine(obj);
要使用MSScriptControl需要引用com组件 Microsoft Script Control 1.0。
二、引用Microsoft.JScript与Microsoft.Vsa两个命名空间,并调用JScriptEvaluate方法实现
注:需加入Microsoft.JScript与Microsoft.Vsa两个命名空间。(已过时)
///<summary> ///四则混合运算 ///</summary> ///<param name= "sExpression">计算表达式</param> ///<returns>计算结果</returns> ///<example> ///<code> ///object x = Mathx.Eval("500-(110-100)/2*6"); ///</code> ///</example> public static object Eval(string sExpression) { Microsoft.JScript.Vsa.VsaEngine ve = Microsoft.JScript.Vsa.VsaEngine.CreateEngine(); return Microsoft.JScript.Eval.JScriptEvaluate(sExpression, ve); }
以上是关于C#计算表达式(仿计算器功能)的主要内容,如果未能解决你的问题,请参考以下文章
在 C# 中,如何使用反射计算表达式主体输出函数中包含的属性数量?