功能很简单,输出一个数学表达式的字符串,输出一个结果值.还算是挺好用的一个小工具吧,比起系统自带的计算器来,它能够很方便的显示表达式.之前我曾发布过一个版本,新版本的界面与旧版本一模一样,不同的是:我重写了套用于数学表达式解析的库.
数学表达式解析算法使用的是分制递归,效率还算不错.也许使用波兰式的方法会更快,以后再说吧.
代码和软件下载地址:
http://files.cnblogs.com/WhyEngine/MathExpression.zip
早期版本地址:
http://www.cnblogs.com/WhyEngine/p/3513478.html
昨天我发了一篇博文"WHY数学表达式的3D可视化",这个小工具和它使用的是同一套表达式解析代码.对表达式的使用格式都是一样的.不同点在于这个版本新点,因为今天添加了对科学格式浮点数解析的功能.
自带的函数运算符
(1)标准单目运算符
+,-
如:a = -b
(2)标准双目运算符
+,-,*,/,%,^
如:c = a * b
(3)函数单目运算符 形如sin(a)
positive,negative,abs,floor,ceil,sign,sqrt,exp,log,log2,log10,sin,cos,tan,asin,acos,atan,rand
(4)函数双目运算符 形如pow(a, b)
add,sub,multiply,divide,max,min,mod,pow,atan2,rand2,
(5)函数三目运算符 形如lerp(a, b, r)
lerp,clamp,gray,add3,min3,max3,average3
(6)函数四目运算符 形如average4(a, b, c, d)
add4,min4,max4,average4
具体的函数功能我就不解释了,看函数名也能猜个差不多,再不就看代码吧.
数学表达式解析小工具 (开源)