请问。vb中运行vbs的eval函数时,比如:eval(a+
vb吧
全部回复
仅看楼主
level 8
大臼牙 楼主
请问。vb中运行vbs的eval函数时,比如:eval(a+b)为什么结果是0而不是报错。(是否有类似option explicit可以先约束下)
2020年07月10日 07点07分 1
level 8
不报错说明没错,只是程序没按你的理解去执行
2020年07月10日 08点07分 2
吧务
level 13
' 自定义函数【JiSuan(GS$) As Double】,可计算数学公式的值
Function JiSuan(ByVal GS As String) As Double
On Error GoTo CW001
Dim Mssc, CC$
Set Mssc = CreateObject("MSScriptControl.ScriptControl")
Mssc.Language = "vbscript"
JiSuan = Mssc.Eval(GS)
GoTo CW000
CW001:
CC = "【" & GS & "】有错!"
MsgBox CC, 0 + 64, "错误:CW001"
CW_00:
' 正常退出
End Function
2020年07月11日 07点07分 3
Eval( ) 是一个Windows 中的函数,并不是 VB 的内部函数,所以要进行一些特殊的声明才能使用。
2020年07月11日 07点07分
把数学公式的等号右边描述成一个字符串【如: GS = "5 * SIn(30 * 0.0174533"】再调用函数【x = JiSuan(GS)】;就可以计算出 x = 5 * Sin(30°) 的值。
2020年07月11日 07点07分
@Luosen56 构造一个自定义函数,加上强制声明代码,addcode一下就解决了[哈哈]
2020年07月12日 14点07分
level 12
a b 都没有初始值,计算表达式应该把这俩货当数字加了,0+0不就等于0嘛
2020年07月31日 01点07分 4
level 8
大臼牙 楼主

2020年07月31日 03点07分 5
1