计算表达式的值 我想在一个字段中存储表达式,比如存储“a+b*c”,然后 我给出a,b,c的值 就能够计算出那个表达式的值,应该如何写? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 首先添加引用1. Microsoft.JScript.Vsa2. Microsoft.JScript 方法如下:/// <summary>/// 计算 字符串表达式/// </summary>/// <param name="Formule">字符串计算表达式</param>/// <returns></returns>private string CaleByFormule(string Formule){ Microsoft.JScript.Vsa.VsaEngine ve = Microsoft.JScript.Vsa.VsaEngine.CreateEngine(); return Microsoft.JScript.Eval.JScriptEvaluate(Formule, ve).ToString();} new System.Data.DataTable().Compute(string.Format("{0}+{1}*{2}", a, b, c), null) Compute(string.Format("{0}+{1}*{2}", a, b, c), null) 不好意思 忘记说了 我做的不是webform的,是winform winform 一样object a=new DataTable(string.Format("{0}+{1}*{2}",a,b,c),""); 方法这么多啊,学习一下。感觉javascript挺好,效率都不高吧。能编译检查表达式合法性吗? 好像叫什么逆波兰吧。这个和语言关系不大,主要是简单的一些小算法,把中缀表达式改成后缀表达式,然后利用栈计算出结果而已,如果LZ有心可以去搜索一下。整个算法不难,但几百行代码是肯定的。如果只是为了使用,可以搜索成熟的库。好像.net中有个叫Eval什么的库就是干这个的。 i came here for learing.. 请教正则取数问题 在线等!!!!!!!!! 关于ASP.NET 的cookie的问题 蜘蛛程序 C# 创建的一个COM+应用,但是出现 因为配置类型不正确,系统无法开始服务器进程。请检查用户名和密码。错误 Help!!!! WebService如何获得客户端的ip阿? 求助为什么枚举不能这样写? 高分求关于web现实的问题,入门级 分页的问题???(求教) C#委托 使用vs2010无法编译.net2.0的项目 c# 如何生成 下拉风格窗体
/// 计算 字符串表达式
/// </summary>
/// <param name="Formule">字符串计算表达式</param>
/// <returns></returns>
private string CaleByFormule(string Formule)
{
Microsoft.JScript.Vsa.VsaEngine ve = Microsoft.JScript.Vsa.VsaEngine.CreateEngine();
return Microsoft.JScript.Eval.JScriptEvaluate(Formule, ve).ToString();
}
object a=new DataTable(string.Format("{0}+{1}*{2}",a,b,c),"");