在vb.net中将一个字符串算式转换为实际值?(续)重大发现!!!!!!!
各位编友,经过几天查资料,今天我终于找到一个好办法,具体如下:
类似于过去使用vb程序中RunScript函数调用vbs外部脚本一样,但vb.net中的这个方法更强大,可调用vb编译器,几条语句就可以将各种net所支持的语言文本编译成为Exe或Dll文件,我想这种方法可进行多种语言的混编或编一个类似于易语言的程序,如果有人对vb.net编译器编程感兴趣就顶一顶(毕竟比较偏门),可能会为你打开一个意想不到的新天地,谢谢各位答疑。
在写下上一段文字后,我又发现一个方法,采用微软的msscript.ocx控件,在引入该控件后,输入
Dim a As Double
a = AxScriptControl1.Eval("(1+2)/(3+4)")
后,得出正确结果。
原贴:
请教问题:在vb.net中将一个字符串算式转换为实际值?例如:dim a as string ="(4+4)/(1+3)"
dim b as integer
b= ?(a)
能不能用什么方法将得到 b=2的值,我使用 val (a) 得到的值不正确。这个问题是在我编写一个工资图形化公式中遇到的,其中想达到将公式表达式存在数据库中,从字段中引用数值,在公式中各数值都都得到后进行统一计算(有十几项),我原来想逐项进行子程序处理计算,但程序编起来复杂,牵涉到括号等优先计算、数学函数等问题,各位高手有没有简单的方法?
[此贴子已经被作者于2006-9-16 23:35:00编辑过]