.NET开源表达式计算组件介绍与使用
来源:互联网 发布:微信域名举报监控 编辑:程序博客网 时间:2024/06/07 04:58
【开源原创】.NET开源表达式计算组件介绍与使用
2013-05-02 20:30 by asxinyu, 955 阅读, 13 评论, 收藏, 编辑1.前言
日常开发中有很多地方使用到表达式计算,比如一个庞大灵活的人力资源管理系统中,涉及到薪酬管理,某些单位可能会经常对工资格式,计算方式进行变动,这个时候表达式计算就可以派上用场,当然还有很多地方,比如数学计算等环节中,对表达式计算的需求也挺多的。今天就像大家介绍一款开源的.NET表达式计算组件NCalc,该组件很小,但功能强大,包括了很多不同类型的表达式计算,下面就将详细介绍其功能和使用。
如果这些文章对你有用,有帮助,期待更多开源组件介绍,请不要吝啬手中的鼠标。
【原创分享】Matlab.NET混编调用Figure窗体 http://www.cnblogs.com/asxinyu/archive/2013/04/14/3020813.html
【原创】开源.NET下的XML数据库介绍及入门 http://www.cnblogs.com/asxinyu/archive/2013/03/25/2980086.html
【原创】关于.NET下开源及商业图像处理(PSD)组件 http://www.cnblogs.com/asxinyu/archive/2013/03/21/2972491.html
【原创】.NET开源压缩组件介绍与入门 http://www.cnblogs.com/asxinyu/archive/2013/03/05/2943696.html
【原创】开源Word读写组件DocX介绍与入门[资料已发送] http://www.cnblogs.com/asxinyu/archive/2013/02/22/2921861.html
【原创】C#开源轻量级对象数据库NDatabase介绍【资料已发送】 http://www.cnblogs.com/asxinyu/archive/2013/02/20/2918066.html
2.NCalc组件功能特点
首先,这款组件是开源的,开源地址在:http://ncalc.codeplex.com/ ,可以下载Dll和源代码,看看实现过程。
其次,该组件不仅支持数学表达式计算,还支持很多基础的数学函数,支持参数,以及支持逻辑运算符号。使用简单。
3.NCalc组件基本使用入门
NCalc的使用很简单,只需要初始化一个Expression对象,然后给它传入参数,调用Evaluate方法即可得到结果。下面将对NCalc支持的各种表达式计算进行一个简单的演示,包括一下内容:
1.最简单的数学运算
2.简单的逻辑运算
3.简单的参数表达式计算
4.支持数学函数运算
先看效果图:
再看核心代码:
1 string[] temp = txtExpress.Text.Trim().Split(new String[] { "\r\n" }, 2 StringSplitOptions.RemoveEmptyEntries); 3 foreach (var item in temp ) 4 { 5 //对当前的表达式再次进行分割,若有参数,则添加参数 6 if (item.Contains(';')) 7 { //第一个是表达式,后面的;号都是参数名称和参数值 8 string[] param = item.Split (new char[]{';'}, 9 StringSplitOptions.RemoveEmptyEntries);10 Expression exp = new Expression(param[0]);11 //添加参数12 for (int i = 1; i < param.Length ; i++)13 {14 //等号左边是参数名,等号右边是值,输入错误检测暂时不处理15 string[] nameValue = param[i ].Split ('=');16 //这里注意要对值类型进行转换,否则会直接作为字符串对待,结果会有不同17 exp.Parameters[nameValue[0]] = Convert.ToDouble( nameValue[1]);18 }19 //计算结果20 txtResult.Text += (exp.Evaluate().ToString () + "\r\n");21 }22 else23 {24 string result = new Expression(item).Evaluate().ToString();25 txtResult.Text += (result + "\r\n");26 }27 }
4.资源
自由发挥,有了这个基础的东西,可以做出很多小工具啊。希望对大家有用。还有更多的功能期待大家发掘。
编程爱好者,关注.NET软件开发,Matlab编程及网络技术
http://www.cnblogs.com/asxinyu/E-mail:1287263703@qq.com
- .NET开源表达式计算组件介绍与使用
- 【原创】.NET开源表达式计算组件介绍与使用
- .NET平台开源项目速览(8)Expression Evaluator表达式计算组件使用
- .NET平台开源项目速览(9)软件序列号生成组件SoftwareProtector介绍与使用
- .NET开源压缩组件介绍与入门
- [置顶]【原创】.NET开源压缩组件介绍与入门
- .NET开源压缩组件介绍与入门
- [置顶].NET平台开源项目速览(6)FluentValidation验证组件介绍与入门(一)
- 正则表达式介绍与使用
- 文字输入组件的使用与介绍
- vue组件简单介绍与使用
- .NET平台开源项目速览(5)深入使用与扩展SharpConfig组件
- C#实现的表达式解析与计算类TExprParser介绍
- 网格部件添加表达式计算列使用介绍
- 开源组件介绍
- 开源免费且稳定实用的.NET PDF打印组件itextSharp(.NET组件介绍之八)
- 使用后缀表达式计算表达式
- .NET平台开源文档与报表处理组件
- tar 命令
- Advertising without Compromising User Experience 不降低用户体验的广告
- java使用PinYin4j将汉字转换为拼音
- 文章总结:ASPLOS 2013 Architecture I
- 设置听筒模式
- .NET开源表达式计算组件介绍与使用
- 集合—Map—Test
- Android开发时提示Your project contains error(s),please fix them before running your application.
- “在应用程序级别之外使用注册为 allowDefinition=’MachineToApplication’ 的节是错误的。如果在 IIS 中没有将虚拟目录配置为应用程序,则可能导致此错误”的解决方法
- openssl/md5.h 出错解决方案
- Ubuntu 12.04搭建Hadoop单机版环境
- 远程连接MYSQL 错:1130-host ... is not allowed to connect to this MySql server
- 将JavaWeb项目部署到Tomcat根目录下
- OPhone设置、获取振铃和短信音