配色: 字号:
葡萄城报表系统开发中常用的运算符汇总
2017-07-19 | 阅:  转:  |  分享 
  
报表系统开发中常用的运算符汇总

葡萄城报表是一套强大的报表开发和系统搭建工具,既能与您开发的报表软件项目紧密集

成,也可独立部署运行,支持多数据源,具有无编码、灵活、稳定等特性,可以帮您快速搭建

专业的报表软件系统,实现各类报表的设计、管理、权限控制、数据填报、负载均衡及跨平台

发布。



葡萄城报表的运算符不仅包括通常意义上的赋值运算符、算术运算符、连接运算符、比较

运算符和逻辑运算符,还包括一些特殊运算符,如点操作符等。



1.赋值运算符

赋值运算符就是等于号(=),它将其右侧的数据或者表达式的结果赋给左侧的变量,使其

在程序代码中运用。例如,x=666。

任何表达式都是以赋值运算符开头。

2.算术运算符

算术运算符包括+(加法运算符)、-(减法运算符)、/(除法运算符)、\(整除运算符)、Mod(取

模运算符)、^(乘幂运算符),下面逐一进行介绍。

(1)算术运算符用法

+加法运算符。形成数值表达式,并将数值或数值表达式相加。也可用于连接两个字符串

变量,但建议用连接运算符进行连接。例如,结果=表达式1+表达式2。

-减法运算符。形成数值表达式,将数值或数值表达式相减。也可用在数值之前,用于表

示负数。例如,结果=表达式1-表达式2。

乘法运算符。形成数值表达式,将数值或数值表达式相乘。例如,结果=表达式1表达

式2。

/除法运算符。形成数值表达式,将两个数值或数值表达式相除,其中除数不能为零,否

则会得到一个错误。例如,结果=表达式1/表达式2。

\整除运算符。将两个数值或数值表达式相除,并返回一个整数,即舍掉余数或者小数部

分。例如,结果=表达式1\表达式2。例如,7\3的值为2。

Mod取模运算符。将两个数值或数值表达式相除,并只返回余数。例如,结果=表达式1

Mod表达式2。例如,7Mod3的值为1。

^乘幂运算符。计算数值或数值表达式的乘幂。例如,结果=数值^指数。

(2)算术运算符的优先顺序

算术运算符的优先顺序依次为:乘幂运算符(^)-乘法和除法运算符(、/,两者没有优先顺

序)-整除运算符(\)-取模运算符(Mod)-加法和减法运算符(+、-,两者没有优先顺序)。若在同一

代码中多次使用同一个算术运算符,则从左到右运算。使用括号可以改变优先顺序。

3.比较运算符

(1)普通比较运算符

比较运算符包括<(小于)、>(大于)、=(等于)、>=(大于或等于)、<=(小于或等于)、<>(不等

于),用于数据元素的比较,其一般的语法为:

结果=表达式1<比较运算符>表达式2

结果为True(1)、False(0)或者为Null。其中比较运算符可以单独使用,也可以两两结合使用。

如果表达式1或者表达式2本身为Null时才会产生Null的结果。

下面结合上述语法,对这些比较运算产生的结果为True或False时所需要的条件进行说明:

>表达式1大于并且不等于表达式2时,其结果为True;否则,为False。

<表达式1小于并且不等于表达式2时,其结果为True;否则,为False。

=表达式1等于表达式2时,其结果为True;否则,为False。

>=表达式1大于或者等于表达式2时,其结果为True;否则,为False。

<=表达式1小于或者等于表达式2时,其结果为True;否则,为False。

<>表达式1不等于表达式2时,其结果为True;否则,为False。

比较运算符可用于数值比较或字符串变量比较,也可用于数值与字符串的比较。如果其中

一个表达式是数值,另一个是字符串,则数值表达式总是“小于”字符串表达式;如果都是字

符串,则最大的字符串就是最长的字符串;如果字符串一样长,则小写的大于大写的。

(2)Is运算符

有一个特殊的比较运算符,即Is运算符,可用于判断两个对象变量是否指向同一个对象,

其语法为:

结果=对象1Is对象2

如果对象1和对象2都指向同一个对象,其结果为True;否则,结果为False。

还可以用Is运算符来判断一个对象变量是否符合要求,例如,条件判断语句IfobjVarIs

NothingThen表明,如果对象变量objVar没有对象引用,则为True,执行Then后面的语句。

(3)Like运算符

Like运算符用于判断给定的字符串是否与指定的模式相匹配,其语法为:

结果=字符串Like模式

其中,字符串为要与模式相比较的字符串,如果字符串与指定的模式相匹配,则结果为

True;否则,其结果为False。如果字符串或者模式Null,则结果为Null。

在模式中可使用一些特殊字符作为通配符,其它的字符都能与它们相匹配,这些字符有:?

代表任意一个字符;代表0或多个字符;#代表任意一个数字(0-9);[charlist]代表字符列表中

的任意一个字符;[!charlist]代表不在字符列表中的任意一个字符;[]代表空字符串(“”)。

Charlist将模式中的一组字符与字符串中的一个字符进行匹配,可以包含任何一种字符,

包括数字;在Charlist中使用连字号(-)产生一组字符来与字符串中的一个字符相匹配,如[A-D]

与字符串相应位置的A、B、C或D匹配;在Charlist中可以产生多组字符,如[A-DH-J];各组

字符必须是按照排列顺序出现的;在Charlist的开头或结尾使用连字号(-)或以与连字号自身相

匹配,例如[-H-N]与连字号(-)或H到N之间的任何字符相匹配;在Charlist中的一个字符或者一

组字符前加上!号,表明与该字符或该组字符之外的所有字符匹配,如[!H-N]与字符H-N范围

之外的所有字符匹配;而在[]外使用!号则只匹配其自身。

要使用任何特殊字符作为匹配字符,只需将它放在[]中即可,例如[?]表明要与一个问号

进行匹配。

(4)比较运算符的优先顺序

如果多个比较运算符出现在同一行代码中,则按从左到右的顺序计算。

4.连结运算符

&连结运算符,用于连接字符串。它能把一些字符串变量连接在一起,形成一个新的字符

串。在进行连接运算之前,任何非字符串变量或表达式都转换为字符串。例如,结果=字符串

1&字符串2,其结果的数据类型为String类型。

+混合连接运算符,它运用很灵活,但会与加法运算符相混,给您的阅读带来不便。例如,

结果=表达式1+表达式2,其结果的数据类型取决于表达式的数据类型。

下面对这两种连接运算符进行测试,测试表达式为:

结果=表达式1+表达式2

当两个表达式都是数值数据时,用&运算符会将两个数值数据连接,如5&1连接后为51,

但用+运算符后,会将两数值相加得到其结果,如5+1进行连接后为6。当两个表达式都是字符

串(Sting)时,将对两个字符串进行连接为一个字符串。当两个表达式为空时,+运算符的结果为

0,而&运算符的结果为Null值。当一个表达式为数值类型数据,另一个表达式为字符串类型数

据时,+运算符将产生类型不匹配的错误,而&运算符则将两个表达式连接。未声明变量时,

当一个表达式为数字,另一个表达式为字母时,+运算符和&运算符的结果均为数字,如

j=7,k=student,i=j+k与i=j&k的结果均为7。当两个表达式都为空时,+运算符结果为0,而&运算

符结果为Null值。

5.逻辑运算符

(1)逻辑运算符用法

逻辑运算符允许对一个或多个表达式进行运算,并返回一个逻辑值。逻辑运算符包括:

And(逻辑与)、Or(逻辑或)、Not(逻辑非)、Eqv(与或)、Imp(蕴含)、Xor(异或)。

And执行逻辑与运算,即如果表达式1和表达式2都是True,则结果返回True;只要其中

一个表达式为False,其结果就是False;如果有表达式为Null,则结果为Null。其语法为:

结果=表达式1And表达式2

例如,Ifx>1Andy<10Then,表示如果x的值大于1且y的值小于10时,就执行Then后

面的代码。

AndAlso类似And,执行逻辑与运算,但是如果前面的表达式已经是False,则不会执行其

后面的表达式,直接返回False,相当于优化的And。

Or执行逻辑或运算,即如果表达式1或者表达式2为True,或者表达式1和表达式2都为

True,则结果为True;只有两个表达式都不是True时,其结果才为False;如果有表达式为Null,

则结果也是Null。其语法为:

结果=表达式1Or表达式2

例如,Ifx>1Ory<10Then,表示如果x的值大于1,或者y的值小于10,则执行Then后面

的代码。

OrElse与Or类似,执行逻辑或运算,但是如果前面的表达式已经是True,则不会执行其

后面的表达式,直接返回True,相当于优化的Or。

Not对一个表达式进行逻辑非运算,即如果表达式为True,则Not运算符使该表达式变成

False;如果表达式为False,则Not运算符使该表达式变成True;如果表达式为Null,则Not运

算符的结果仍然是Null。其语法为:

结果=Not表达式

例如,IfNotIsError(x)Then,如果IsError返回False则执行Then后面的代码,表示x中不

包含错误。

Xor执行逻辑异或运算,用于判断两个表达式是否不同。若两个表达式都是True或都是

False时,其结果就是False;如果只有一个表达式是True,其结果就是True;如果两个表达式

中有一个是Null,其结果是Null。其语法为:

结果=表达式1Xor表达式2

(2)逻辑运算符的优先顺序

逻辑运算符的优先顺序依次为:Not——And——Or——Xor。如果在同一行代码中多次使

用相同的逻辑运算符,则从左到右进行运算。

6.位操作符

位操作符用于对二进制数据进行移位操作。

<<执行左移,例如:4<<2表示将数字4的二进制数形式(100)左移2位,成为二进制的

10000,即十进制数的16。

>>执行右移,例如:4>>2的结果是1。

7.点运算符

点运算符用来引用某个对象。运用点运算符,可以限定所引用的对象的位置,清楚地表明

该对象的层次结构,还可以指定某对象的方法或属性。例如:

=Code.SetColor(v)表示对脚本函数SetColor的调用。

=Code.UserContext.GetValue(“UserName”)表示取用户身份信息中的UserName。

8.运算符的优先顺序

如果您不了解运算符的优先级别(即哪个运算符优先运算,哪个运算符最后才运算),您的

表达式可能会出现意想不到的结果。在前面的小节中,介绍了同一类运算符的优先顺序。如果

在一行代码中包括多个运算符,则其进行运算的优先顺序是不相同的。运算符的优先级会影响

到表达式的最终结果。

当一行代码中包括几类运算符时,其优先顺序为:算术运算符——连接运算符——比较

运算符——逻辑运算符。

如果您要改变同类或不同类运算符的优先顺序,可以使用括号,括号内的表达式总比括号

外的优先进行运算。



关于葡萄城报表模板库:

葡萄城报表模板库内置100余套报表模板,倾力收集自人力资源,销售管理,财务分析,学校

教育,医疗卫生等多个行业,包括图表类,条形码,地图,公告牌等多个报表类型,可免费下

载使用,即改即用。



献花(0)
+1
(本文系zenmshuo首藏)