转 C# 将字符串转换为计算公式,并计算结果
2017-02-28 09:16
507 查看
根据总结,大概分为以下三种:
第一种: 用DataTable中的Compute方法。
例如:" 1*2*3 "
代码如下:
第二种:利用javascript中的Eval方法解析.此方法需引入添加COM引用:Microsoft Sctipt Control 1.0
在使用过程中,若出现无法嵌入互操作类型“MSScriptControl.ScriptControlClass”,则可以这样操作。右击MSScriptControl程序集--〉属性--〉嵌入互操作类型--〉改为false
让我们看下这个方法的强大之处:
例如:"1*2*3"
此方法还能解析像这种等字符串 :“if(3>2){ 1 }else { 2}”
代码如下:
第三种: 引入添加.net 引用 Microsoft.JScript 和Microsoft.Vsa
个人认为此方法跟方法二是一样的,具体区别不清楚
例如:"1*2*3"
此方法还能解析像这种等字符串 :“if(3>2){ 1 }else { 2}”,跟方法二一样。
代码如下:
第一种: 用DataTable中的Compute方法。
例如:" 1*2*3 "
代码如下:
var a = new System.Data.DataTable().Compute("1*2*3", ""); //结果a=>6
第二种:利用javascript中的Eval方法解析.此方法需引入添加COM引用:Microsoft Sctipt Control 1.0
在使用过程中,若出现无法嵌入互操作类型“MSScriptControl.ScriptControlClass”,则可以这样操作。右击MSScriptControl程序集--〉属性--〉嵌入互操作类型--〉改为false
让我们看下这个方法的强大之处:
例如:"1*2*3"
此方法还能解析像这种等字符串 :“if(3>2){ 1 }else { 2}”
代码如下:
MSScriptControl.ScriptControl sc = new MSScriptControl.ScriptControlClass(); sc.Language = "javascript"; var b = sc.Eval("1*2*3"); //结果b=>6
第三种: 引入添加.net 引用 Microsoft.JScript 和Microsoft.Vsa
个人认为此方法跟方法二是一样的,具体区别不清楚
例如:"1*2*3"
此方法还能解析像这种等字符串 :“if(3>2){ 1 }else { 2}”,跟方法二一样。
代码如下:
Microsoft.JScript.Vsa.VsaEngine ve = Microsoft.JScript.Vsa.VsaEngine.CreateEngine(); var c = Microsoft.JScript.Eval.JScriptEvaluate("1*2*3", ve); //结果c=>6
相关文章推荐
- C#中另类自定义公式计算 字符串转换为计算公式,并得出计算结果
- C#中另类自定义公式计算 字符串转换为计算公式,并得出计算结果
- C#中另类自定义公式计算 字符串转换为计算公式,并得出计算结果
- C#中另类自定义公式计算 字符串转换为计算公式,并得出计算结果【转载】
- C#中另类自定义公式计算 字符串转换为计算公式,并得出计算结果
- C#中字符串转换为计算公式
- C#中字符串转换为计算公式
- C# 字符串转换为计算公式
- C#中字符串转换为计算公式(自定义公式的计算)
- C#中 字符串转换为计算公式
- C#将字符串转换成运算表达式并得到计算结果
- C#中字符串转换为计算公式(自定义公式的计算)
- C# 字符串转换为计算公式
- C#中字符串转换为计算公式,并进行计算的方法(自定义公式的计算)
- 【.Net码农】C#中字符串转换为计算公式
- C#中字符串转换为计算公式(自定义公式的计算)
- C#中字符串转换为计算公式,并进行计算的方法(自定义公式的计算)
- C#中字符串转换为计算公式,并进行计算的方法(自定义公式的计算)
- c#字符串中包含的运算符按正常计算 例如按四则运算等,类似公式计算,很好很强大
- C# 字符串公式计算 (JScript.Eval 用法)