第2章VFP表达式及应用(2)

2019-05-24 16:19

据进行操作的符号。单个常数、变量和函数是表达式的特例,即只有一个运算对象,没有运算符。表达式的运算结果称为表达式的值,根据表达式值的数据类型可分为数值表达式、字符表达式、日期表达式、关系表达式和逻辑表达式。在VFP中只有同类型的数据(除日期与数值运算外)才能进行运算。

2.3.1 数值运算符

VFP中的数值运算符如表2.1。

表2.1 数值运算符

优先级别 1 2 3 4 算术运算符 +、- ** 或 ^ * 、/、% + 、- 说 明 取正负 乘方 乘、除、求余 加、减 数学表达式 -(+X) 3X 2÷X?1 X+Y-1 3X?1转换成VFP表达式 -(+X) X ^3或x**3 2/((3*X+1)/(X-1)) X+Y-1

在表2.1中,取负运算的优先级别最高,其次是乘方,然后是乘、除法与求余运算(同级),最后是加与减运算(同级)。

当两个同符号数求余运算(%)时,结果为第一个数除以第二个数的余数;当两个异符号数求余时,结果为第一个数除以第二个数的余数再加上第二个数。

【 例 2.8 】

? 8%3, 8 %-3, -8%3, -8%-3 && 输出结果为:2 -1 1 -2

2.3.2 常用数值型函数

函数作为一种特殊的表达式,可分为系统函数和用户自定义函数。系统函数也称为标准函数,是VFP系统定义的函数,可以直接使用。自定义函数是用户编写的子程序。通常调用一个函数需要带有参数,调用结束后会有一个运算结果,称运算结果为函数返回值或函数值。返回值的类型决定了函数的数据类型。数值型函数指函数值为数值型。

1. 符号函数

函数格式:Sign(<数值表达式>)

函数说明:返回值表示数值表达式值的符号。表达式的值为正、零和负值时,函数值分别是1、0和-1。

【 例 2.9 】

X=2*4

? Sign(X), Sign(X-8), Sign(-X) && 输出结果为:1 0 -1

2. 求绝对值函数

函数格式:Abs(<数值表达式>)

函数说明:返回值为数值表达式的绝对值。

【 例 2.10 】

X= -2*3

? Abs( X+3 ) && 输出结果为:3

3. 求平方根函数

函数格式:Sqrt(<数值表达式>)

函数说明:返回值是数值表达式值的算术平方根,数值表达式值必须大于或等于0。 【 例 2.11 】

? Sqrt(16)

&& 输出结果为:4.00

4. 求指数函数

函数格式:Exp(<数值表达式>)

x

函数说明:若数值表达式的值为x,则函数返回值是e。 【 例 2.12 】

? Exp(0),Exp(2)

&& 输出结果为:1.00 7.39

5. 求自然对数函数

函数格式:Log (<数值表达式>)

函数说明:函数返回值是以e为底数,表达式值的对数。数值表达式值必须大于0。 【 例 2.13 】

? Log( 10 ) , Log ( Exp (2) ) && 输出结果为:

2.30 2.00

6. 求余函数

函数格式:Mod (<数值表达式1> ,<数值表达式2>)

函数说明:函数值是数值表达式1除以数值表达式2的余数。功能与“<数值表达式1>%<数值表达式2>”相同。

【 例 2.14 】

? Mod(8,3) , Mod(8,-3) , Mod(-8,3) , Mod(-8,-3) && 输出结果是:2 -1 1 -2

7. 求圆周率函数

函数格式:Pi( )

函数说明:函数返回值是圆周率。其精度与Set Decimal to <小数位数>命令有关,系统默认显示到小数点后两位。

【 例 2.15 】

Set Decimal to 10 && 设置小数点后显示10位 ? Pi( )*10*10 && 输出结果为:314.1592653590

8. 求最大值和最小值函数

函数格式: Max(<表达式表)

Min(<表达式表)

函数说明:Max函数是求表达式表中所有表达式值的最大者。Min函数是求最小者。

各表达式的数据类型必须一致,,可以是数值型、字符型、货币型、日期型、日期时间型或逻辑型等。此类函数可以有多个参数,至少要有两个参数。

【 例 2.16 】

? Max(8,-2*3,10,3), Min(8,-2*3,10,3) && 输出:10 -6 ? Max(‘A’,’B’,’C’), max(.f.,.T.,.n.) && 输出: C .T. ? Max($200,$100,$300) && 输出:300.0000

9. 求整函数

函数格式1:Int(<数值表达式>)

函数格式2:Ceiling(<数值表达式>) 函数格式3:Floor(<数值表达式>)

函数说明:Int函数的值是数值表达式的整数部分,而不是四舍五入;Ceiling函数值是大于或等于数值表达式值的最小整数;Floor函数值是小于或等于数值表达式值的最大整数。

【 例 2.17 】

? Int (2.8) , Int (-2.8 ) && 输出结果为:2 -2 ? Ceiling (2.8) , Ceiling(-2.8) && 输出结果为:3 -2 ? Floor (2.8) , Floor(-2.8) && 输出结果为:2 -3

10. 四舍五入函数

函数格式:Round (<数值表达式1>,<数值表达式2>)

函数说明:返回值为数值表达式1的值在指定位置上四舍五入后的结果。四舍五入位置由数值表达式2的值决定。若数值表达式2的值小于0,数值表达式2的绝对值表示对数值表达式1在整数位(0为个位)上进行四舍五入,即0表示在小数点后第一位上进行四舍五入,保留到个位;-1表示在个位上进行四舍五入,保留到十位;依次类推。

【 例 2.18 】

? Round(2.56,1), Round(2.56,0), && 输出:2.6 3 ? Round(2.56,-1),Round(7.56,-1) && 输出:0 10

11. 求ASCII码值函数

函数格式:Asc (<字符表达式>)

函数说明:返回值是字符表达式值中首字符的ASCII码值。 【 例 2.19 】

? Asc(”English Abc”) && 输出结果为E的ASCII码值: 69

12. 求字符串长度函数

函数格式:Len(<字符表达式>)

函数说明:返回值是字符表达式值中所含字符的个数,空格也计算在内。每个汉字占两个字符位置。

【 例 2.20 】

? Len(”学习︼VFP6.0”) && 输出结果为:11

13. 求子串起始位置函数

函数格式: At (<字符表达式1>,<字符表达式2>[,<数值表达式>])

Atc(<字符表达式1>,<字符表达式2>[,<数值表达式>])

函数说明:设<数值表达式>值的整数部分为n,当n=1时,可以省略<数值表达式>。函数值是字符表达式1的值在<字符表达式2>值中第n出现(由左至右)的开始位置,如果出现次数小于n,则函数值为0。At函数区分字母大小写,而Atc函数不区分字母大小写,其余功能两个函数一致。

【 例 2.21 】

? AT('AR','cadARA'), AT('AA','cadAARA',2), ATC('A','cadARA') && 输出: 4 0 2

14. 求子串出现次数函数

函数格式:Occurs (<字符表达式1>,<字符表达式2>)

函数说明:计算字符表达式1的值在字符表达式2值中出现的次数。 【 例 2.22 】

? Occurs(“ab”,”cabdabe”),Occurs(“ab”,”cadbaeb”) && 输出:2 0

15. 求年份函数

函数格式:Year(<日期表达式>)

函数说明:函数值是日期表达式值的年份值,值范围为0001~9999。 【 例 2.23 】

? Year({^2007-10-01})

&& 输出: 2007

16. 求月份函数

函数格式:Month (<日期表达式>)

函数说明:函数值是日期表达式值中的月份值,值范围为1~12。 【 例 2.24 】

? Month ( {^2007-10-01} )

&& 输出: 10

17. 求星期函数

函数格式:Dow(<日期表达式>)

函数说明:函数值是日期表达式值对应的星期几。值范围为1~7,其中1代表星期日、2代表星期一、??、7代表星期六。

【 例 2.25 】

? Dow({^1949/10/01}) && 输出: 7,代表星期六

18. 求日数函数

函数格式:Day(<日期表达式>)

函数说明:函数值是日期表达式值的日数,值范围为1~31。 【 例 2.26 】

? Day({^2007-03-15}) && 输出: 15

19. 求小时函数

函数格式:Hour(<日期时间表达式>)

函数说明:函数值表示小时,采用24小时制。 【 例 2.27 】

? Hour({^2007-05-01 1:22:33 p}) && 输出: 13

20. 求分钟函数

函数格式:Minute(<日期时间表达式>) 函数说明:函数值表示分钟。 【 例 2.28 】

? Minute({^2007-05-01 1:22:33 p}) && 输出: 22

21. 求秒钟函数

函数格式:Sec(<日期时间表达式>) 函数说明:函数值表示秒数。 【 例 2.29 】

? Sec({^2007-05-01 1:22:33 p}) && 输出结果为: 33

22. 字符转换成数值函数

函数格式:Val(<字符表达式>)

函数说明:将字符表达式值的首部可转换的子串转换成数值型数据,作为函数的返回值。如果字符串的首字符不是可转换符号,则函数返回值为0。

【 例 2.30 】

? Val(\输出结果为:-6.00 36.00 ? Val(\输出结果为: 2.46 0.00

2.4 字符型表达式

字符表达式是字符运算符连接字符型数据的运算式,运算结果是字符型数据。

2.4.1 字符运算符

VFP中有两种字符运算符:

(1)+: 将两个字符型数据依次连接起来,构成一个新的字符型数据。

(2)-: 先将第一个字符型数据的尾部空格移动到第二个字符型数据的尾部,再依次连接成一个新的字符型数据。

【 例 2.31 】

S1='︼学︼生︼︼'


第2章VFP表达式及应用(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:Hypermesh总结-几何清理篇

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: