我想做一个可列出表达式的计算器,遇到一个问题
就是通过按钮将表达式输入到文本框,然后点击等于按就直接将文本框的字符转换成VB可计算的算式,直接计算结果。
请教一下 谢谢
我只要知道 如何让字符串转换成可直接计算的表达式
就可以了
VB 怎样让字符串转换成可直接计算的表达式
答案:6 悬赏:0 手机版
解决时间 2021-01-02 14:53
- 提问者网友:骑士
- 2021-01-01 15:36
最佳答案
- 五星知识达人网友:独行浪子会拥风
- 2021-01-01 15:51
思路:借鸡下蛋,利用EXCEL的强大功能
操作:假如你的表达式在TEXT1控件里,将下列代码复制到运行代码里:
Dim xlcell
Set xlcell = CreateObject("excel.Application")
xlcell.Workbooks.Add
xlcell.ActiveSheet.Cells(1, 1).Formula = "=" & Text1
Text1 = xlcell.ActiveSheet.Cells(1, 1)
xlcell.ActiveWorkbook.Close SaveChanges:=False
这样,不但一般的表达式能计算,EXCEL支持的各种复杂运算也可以!
操作:假如你的表达式在TEXT1控件里,将下列代码复制到运行代码里:
Dim xlcell
Set xlcell = CreateObject("excel.Application")
xlcell.Workbooks.Add
xlcell.ActiveSheet.Cells(1, 1).Formula = "=" & Text1
Text1 = xlcell.ActiveSheet.Cells(1, 1)
xlcell.ActiveWorkbook.Close SaveChanges:=False
这样,不但一般的表达式能计算,EXCEL支持的各种复杂运算也可以!
全部回答
- 1楼网友:污到你湿
- 2021-01-01 20:13
用Val()函数进行转化,就是Val(text1.text)就好了··
- 2楼网友:雪起风沙痕
- 2021-01-01 18:50
你走啦弯路~
很简单~
当你单击数字9.8.7.6.....分别在TEXT中显示~ 在单击 运算符时 则把文本框中的文本 用VAL()函数转化成数值~ 然后你在单击后面数字的时候还在文本框显示~ 然后在用VAL()函数转换成数值~ 在单击= 时运算就可以了~
- 3楼网友:爱难随人意
- 2021-01-01 18:23
自定义一个函数,在函数中使用判断语句转换(由于转换的表达式不清楚,无法具体回答)
- 4楼网友:爱难随人意
- 2021-01-01 18:09
添加部件 microsoft script control
msgbox scriptcontrol1.eval(text1.text)
难道是替换x为*,回车为+吗?
text1.text=replace(text1.text,vbcrlf,"+")
text1.text=replace(text1.text,"x","*")
用eval方法可以直接计算的.
- 5楼网友:拾荒鲤
- 2021-01-01 16:54
简单的运算可以用VB自带的控件:microsoft script ...记不得了。
复杂的就需要用逆波兰算法。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯