VB运算的优先级问题

2025-02-24 04:41:25
推荐回答(2个)
回答1:

没太明白你的意思,Eval函数是利用Vbs来解析表达式,但也仅限表达式,我此前在vb.net中调用vbs的Eval函数,无法识别函数,只能进行表达式识别,用replace函数取代自变量X可以实现普通表达式的函数表达,但你所提到的问题和我说的是两码事,你是想通过某种方法来定义运算符的优先级?首先必要性不大,平方与开方本质上就是次方的特殊形势,为什么要实现这个功能呢?我不太理解。据我所知你如果要定义自己的运算符,在vb6.0中是无法直接实现的,就连在.net中也只能对已有的部分运算符进行重载,你要自定义运算符,只能以函数的形式调用,函数调用的优先级比运算符要高,但是据我测试eval函数解析不了函数,不知道vb6.0是否可以

回答2:

vb运算符优先级:
由高到低分别为:
-(取负)
^(幂)
*或/
\
mod

(四舍五入法)
+或-
字符运算符:+或&
同级
关系运算符:=、>、>=、<、<=、<>、is
同级
like运算符:like
逻辑运算符:由高到低

not
and
or
xor
eqv
imp
字符串运算符如下: