C#中另类自定义公式计算 字符串转换为计算公式,并得出计算结果【转载】

 1 //方法一 利用DataTable中的Compute方法 例如:1*2-(4/1)+2*4=6
 2 string formulate = string.Format("{0}*{1} - {2}/{3} +{1}*{2}", 1, 2, 4, 1);
 3 DataTable dt = new DataTable();
 4 Response.Write(dt.Compute(formulate, "").ToString());
 5
 6 Response.Write("<br/>");
 7
 8 //方法二  利用JS中强大的Eval函数 可以带if-else判断 添加COM引用:Microsoft Sctipt Control 1.0
 9 MSScriptControl.ScriptControl sc = new MSScriptControl.ScriptControlClass();
10 sc.Language = "JavaScript";
11 string formulate1 = string.Format("if({0}==2)((({0}*{1})-{3}+({1}*{2}))+{4}/{0});else(1+2*3)", 2, 3, 4, 5,6);
12 object objResult = sc.Eval(formulate1);
13 if (objResult != null)
14 {
15     Response.Write(objResult.ToString());//1+12+3
16 }  
/* 方法三 需将Microsoft.JScript 和Microsoft.Vsa加入参考并引用Microsoft.JScript */
public object EvalExpress(string sExpression)
 {
            Microsoft.JScript.Vsa.VsaEngine ve = Microsoft.JScript.Vsa.VsaEngine.CreateEngine();
            return Microsoft.JScript.Eval.JScriptEvaluate(sExpression, ve);  

原文链接 http://blog.csdn.net/smartsmile2012/article/details/8214989

时间: 2024-10-29 19:10:50

C#中另类自定义公式计算 字符串转换为计算公式,并得出计算结果【转载】的相关文章

String中的toCharArray:将此字符串转换为新的字符数组,并统计次数

package stringyiwen; public class StringTestToCharArray { public static void main(String[] args) { String s = "SunWeiWei"; // String中的toCharArray:将此字符串转换为新的字符数组.一个新分配的字符数组,其长度是该字符串的长度,其内容被初始化为包含由该字符串表示的字符序列. char[] array = s.toCharArray(); // 统计

Java之使用Integer类中的parseInt()方法将字符串转换为基本数据类型

import java.util.*; public class SystemInfo {     public static void main(String[] args)     {         Properties  sp = System.getProperties();         Enumeration e = sp.propertyNames();         while(e.hasMoreElements())         {                St

.NET实现Office Excel自定义公式 广泛应用于报表与数据分析

在管理软件开发的功能点中,有相当一部分功能是与Excel做数据交互,产生Excel 数据报表.如果Excel报表的数据计算方法很有规律可循,则可以通过自定义公式来解决.比如常见的资产负债表,利润表,取数都非常有规律. Excel DNA是一套用.NET框架实现的Excel自定义公式引擎,互联网上有很多Excel财务方面的报表是基于此技术实现.Excel DNA完全开放源代码,可到网上下载它的完整源代码和例子工程,地址是https://exceldna.codeplex.com    开发自定义公

javascript计算字符串的长度区分中英文

javascript计算字符串的长度区分中英文:计算字符串的长度是常有的操作,代码如下: var str="I love 蚂蚁部落"; console.log(str.length); 使用length计算字符串的长度,得出的结果是字符串中字符的个数,而在实际应用中可能需要计算字符串所占有的字节长度,一个汉字占两个字节,一个英文字符占一个字节,代码如下: var zfl={}; zfl.GetLength=function(str){ var realLength=0,len=str.

Linux计算字符串md5/sha1

工作中有时候需要计算字符串的md5/sha1来计算或者校验密码,Linux中不像OS X中可以直接使用-s 参数,现在总结一下常用的方法. 1. printf "string"|md5sum/sha1sum 2. echo -n "string"|md5sum/sha1sum 3. echo -e "string\c"|md5sum/sha1sum 4. echo "string"|tr -d "\n"|m

mysql中的日期处理 计算 字符串截取

一.MySQL 获得当前日期时间 函数 1.1 获得当前日期+时间(date + time)函数:now() mysql> select now(); +---------------------+ | now() | +---------------------+ | 2008-08-08 22:20:46 | +---------------------+ 除了 now() 函数能获得当前的日期时间外,MySQL 中还有下面的函数: current_timestamp() ,current_

计算字符串中每个字符出现次数

作者:zccst 思想原理:把字符串分割为数组,粒度为每一个字符.循环该数组,用正则替换原字符串对于字符,并计算替换前后字符串长度差值,即为该字符出现的次数. 另外,还可以对重复次数进行排序. 用到的知识点: 1,正则表达式.基本写法,RegExp,replace的用法. 2,数组中的sort.自定义函数排序.(sort默认按字符编码排序) function charCntInString (argument) { var str = argument,result = [],beforeLen

Java执行字符串中的运算公式

在实现执行字符串中的运算公式时,采用了如下所示的代码: public static String StringfinalResult (String original) { try { String temp = (String)jse.eval(original); return temp; } catch (Exception t) { return null; } } 调用该函数后控制台输出为null 应修改为如下所示的代码: public static String Stringfina

VC中,如何将十六进制字符串转换为十进制数?

原文链接:http://blog.csdn.net/bennyfun79/article/details/6934843 在程序中,我们有时需要将一个十六进制字符串转换为十进制数字.比如: 1 char *ptr="0x11"; 2 int n=0; 3 //我们想让n等于0x11,即17 通常我们在C中,想将一个字符串转换为一整形数字,通常会使用下面的方法: view plaincopy to clipboardprint? 1 char *ptr="123";