学过编程的人都知道,编写一个计算器不简单,传统方案是对表达式进行词法分析,语法分析等来达到计算的目的,而今天我要讲的不是传统方法,而是另一种方法。
这个计算器的编写我会分成3片文章来讲,本文先来个普通的计算器,仅仅是带括号的表达式计算器,第二篇文章将介绍用同样的方法编写带科学运算的计算器,而第三篇则是扩展可编程计算器。
本人也是刚刚入门的菜鸟,本教程若有错之处,欢迎指正。
废话不多说了,本方案不需要词法分析和语法分析等,只是简单的将的表达式转换为JavaScrpit的代码,对,你没有看错,相信说到这里大家都已经猜出来了,这个方案采用C#调用js引擎的eval函数,学过js的程序猿都深谙eval函数的威力了吧,我们就是要利用eval函数将字符串形式的表达式转换为js代码并计算出结果。
项目目录如下:
界面布局和控件:
控件清单:
此外需要注意的一点就是,项目中需要用到js引擎,所以要在引用中加入:Microsoft.JScript库。具体如下:
<1>在项目目录中右键单击【引用】,选择添加引用
<2>在弹出框中选择程序集中的框架:Microsoft.JScript