回 帖 发 新 帖 刷新版面

主题:如何实现将输入字符串转为表达式?

例如:在一个文本框中输入 6*7-(100/6) 这样一个字符串,程序能根据这个串计算出与之对应的表过式的结果来,当然如果能直接将字符串转换为表过式的话,这个问题就解决了,不知有没有这样的函数 ?

回复列表 (共4个回复)

沙发

一、请参考拙作:
用户控件制作实例与讲解(http://bbs.pfan.cn/post-280808.html),附件里有一个四则运算控件,研究一下也许能解决你的问题

二、还有一种更为简单的办法,代码如下:

Private Sub Command1_Click()
Dim OBJ As Object
Set OBJ = CreateObject("MSScriptControl.ScriptControl")'在工程中引用 Microsoft Script Control 1.0
OBJ.Language = "vbscript"  '定义内部脚本语言为 VBScript
Text2 = OBJ.Eval(Text1)
Set OBJ = Nothing
End Sub

  注意3点:
1.计算式中不能有二进制数据;
2.16进制和8进制标记前要加上英文字符“&”。例如:
  1010-&Hff*((&O7-18)/&Ha-&H6)/3*&O7
3.如果计算结果≥H80000000,则以负数表示,HFFFFFFFF表示为-1

板凳

谢谢,学习了。

3 楼


这有什么意义,直接用val把它算出来不就可以了么.

4 楼


我也不得其解,算术计算也许好办些,但是有变量引用就更难办了。
a=5
b=3
(5*a+3*b)/(a+b)

我来回复

您尚未登录,请登录后再回复。点此登录或注册