VB里怎样计得由算术表达式组成的字符串的表达式值

来源:百度知道 编辑:UC知道 时间:2024/05/05 18:20:29
请教一下
VB里怎样计得由算术表达式组成的字符串的表达式值
如有一个字符串"8*2+1"
请问有什么方法可以通过"8*2+1"直接返回一个数值17
也就是
dim strx
strx="8*2+1"
'存在一函数Fx,使Fx(strx)=17
那这个Fx应该是怎样的
或有没有现成的函数

eval()

计算一个表达式的值并返回结果。

[result = ]Eval(expression)
参数
result
可选项。是一个变量,用于接受返回的结果。如果未指定结果,应考虑使用 Execute 语句代替。
expression
必选项。可以是包含任何有效 VBScript 表达式的字符串。
说明
在 VBScript 中,x = y 可以有两种解释。第一种方式是赋值语句,将 y 的值赋予 x。第二种解释是测试 x 和 y 是否相等。如果相等,result 为 True;否则 result 为 False。Eval 方法总是采用第二种解释,而 Execute 语句总是采用第一种。

注意 在Microsoft® JScript™ 中不存在这种比较与赋值的混淆,因为赋值运算符 (=) 与比较运算符 (==) 不同。
下面的例子说明了 Eval 函数的用法:

Sub GuessANumber
Dim Guess, RndNum
RndNum = Int((100) * Rnd(1) + 1)
Guess = CInt(InputBox("Enter your guess:",,0))
Do
If Eval("Guess = RndNum") Then
MsgBox "祝贺你!猜对了!"
Exit Sub
Else
Guess = CInt(InputBox("对不起,请再试一次",,0))
End If
Loop Until Guess = 0
End Sub

val(string)

你可以自己编写一个函数
来计算你想要的结果 啊

dim strx as string
strx="8*2+1"
Fx=val(strx)
这里Fx是数值