数值函数.docx
- 文档编号:7819023
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:13
- 大小:20.73KB
数值函数.docx
《数值函数.docx》由会员分享,可在线阅读,更多相关《数值函数.docx(13页珍藏版)》请在冰豆网上搜索。
数值函数
数值函数
练习题
一、求绝对值函数ABS() 讲解
语法:
ABS(<数值表达式>)
功能:
返回指定数值表达式的绝对值。
函数值为数值型。
这里的<数值表达式>是参数,若给出具体数值表达式,就会得到一个函数值。
如在命令窗口中输入下面命令,就可以在VisualFoxPro屏幕工作区上看到函数运算后的结果。
?
ABS(-68) &&显示函数结果为:
68
?
ABS(80-22) &&显示函数结果为:
58
A=46
B=8
?
ABS(B-A) &&函数结果为:
38
二、取整数部分函数INT() 讲解
语法:
INT(<数值表达式>)
功能:
计算数值表达式的值,截去数值表达式值的小数部分,并返回其整数值。
函数值为数值型。
如:
?
INT(18.9) &&显示函数结果为18
?
INT(18.4*2) &&显示函数结果为36
?
INT(-16.5) &&显示函数结果为-16
三、四舍五入函数ROUND() 讲解
语法:
ROUND(<数值表达式1>,<数值表达式2>)
功能:
返回四舍五入到指定小数位数的数值表达式。
函数值为数值型。
四舍五入后保留的小数由<数值表达式2>决定。
如果<数值表达式2>为负数,函数值为一个被舍入的整数。
即小数点左边的数。
如:
?
ROUND(5432.6548,3) &&显示函数结果为5432.655
?
ROUND(5432.6543,-1) &&显示函数结果为5430
?
ROUND(5432.6543,-3) &&显示函数结果为5000
四、求平方根函数SQRT() 讲解
语法:
SQRT(<数值表达式>)
功能:
求一个正数的平方根。
函数值为数值型。
如:
?
SQRT(9) &&显示函数结果为3
?
SQRT(12) &&显示函数结果为3.464101615138
五、MOD()函数 讲解
语法:
MOD(被除数,除数)
功能:
返回被除数与除数相除的余数。
结果为数值型。
参数:
被除数:
指定被除数。
被除数中的小数位数决定了返回值中的小数位。
除数:
指定除数。
若除数为正数,返回值为正;若除数为负数,返回值为负。
取余函数MOD()和运算符%返回同样结果。
如:
?
mod(10,3) &&结果为1
?
mod(10,-3) &&结果为-2
?
mod(-10,-3) &&结果为-1
?
mod(-10,3) &&结果为2
注意:
函数结果的符号与第二个参数的符号一至,函数结果的绝对值的规律是:
当两个参量的符号相同时,函数结果的绝对值是第一个参量的绝对值除以第二个参量的绝对值的余数;当两个参量的符号相异时,函数结果的绝对值是第二个参量的绝对值减去第一个参量的绝对值除以第二个参量的绝对值的余数
字符操作函数
练习题
一、宏代换& 讲解
语法:
&<内存变量>[.<字符型表达式>]
功能:
用于代换一个字符型内存变量的内容。
&必须放在一个字符型内存变量之前,就用该变量的值来代替&及该变量名。
&<内存变量>与跟在它后面的其它字符之间,一般要隔一个或多个空格。
如果代换后的值要与后面其它字符连在一起,则必须在&<内存变量>之后与其它字符之间插入一个终止宏代换符号“.”。
&可以嵌套。
嵌套的方法是使被&函数代换出来的字符型中包括&函数本身,执行时从外向里逐层进行宏代换,直到将跟在最内层的&符号后的变量内容代换出来。
宏代换后,命令行的长度不得超过254个字符。
在宏代换中以函数本身的名字作为递归调用是非法的。
如:
STORE"hello"tohi
Store"hi"tos
?
&s &&结果为hello
i="1"
j="2"
x12="Well"
?
x&i.&j &&结果为Well
在可能的情况下,请使用名称表达式代替宏替换。
名称表达式仅限于传递作为名称的字符串。
当命令或函数接受名称(文件名、窗口名、菜单名等)时,使用名称表达式的处理速度要比使用宏代换快很多。
二、求字符串长度函数LEN() 讲解
语法:
LEN(<字符表达式>)
功能:
返回字符表达式中字符的数目。
函数值为数值型。
如:
?
LEN(“GoodMorning”) &&结果为12
三、从字符串左端取字符串函数LEFT() 讲解
语法:
LEFT(字符表达式,数值表达式)
功能:
从“字符表达式”最左边一个字符开始返回由“数值表达式”指定数目的字符。
函数值为字符型。
?
LEFT(“GoodMorning”,3) &&结果为Goo
四、在字符中取子字符串函数SUBSTR() 讲解
语法:
SUBSTR(<字符表达式>,<数值表达式1>[,<数值表达式2>])
功能:
从给定的字符表达式或备注字段中返回字符串。
函数值为字符型。
子串在字符串中的起始位置由<数值表达式1>决定,长度由<数值表达式2>决定。
省略<数值表达式2>时,长度从起始位置一直到字符串的最后一个字符。
如果<数值表达式1>的值等于0或者<数值表达式2>的值等于0,本函数值均为一个空串。
<数值表达式1>的取值范围是从0至字符串的长度。
如:
?
SUBSTR("Thisisatable.",5,5) &&结果为"isa"
五、从字符串右端取子字符串RIGHT() 讲解
语法:
RIGHT(<字符表达式>,<数值表达式>)
功能:
从一个字符串的最右边开始返回指定数目的字符。
函数值为字符型。
<数值表达式>表示要从字符串中返回的字符数目,如果该值大于<字符表达式>的长度,函数返回整个字符表达式,如果为0或负数,函数返回空字符串。
如:
?
RIGHT("Howareyou!
",3) &&显示结果为:
ou!
?
RIGHT("Howareyou!
",16) &&显示结果为:
Howareyou!
?
RIGHT("Howareyou!
",0) &&显示结果为:
""
?
RIGHT("Howareyou!
",-3) &&显示结果为:
""
六、删除字符串首尾空格函数ALLTRIM() 讲解
语法:
ALLTRIM(字符表达式)
功能:
删除指定字符表达式前后空格符,并且返回删除空格符后的字符串。
函数值为字符型。
如:
?
ALLTRIM(" VisualFoxPro ") &&结果为"VisualFoxPro"
七、返回字符串出现的位置AT() 讲解
语法:
AT(<字符串1>,<字符串2>[,<次数>])
功能:
返回一个字符表达式或备注字段在另一个字符表达式或备注字段中出现的位置,从最左边开始计数。
函数值为数值型。
<字符串1>为目标表达式,<字符串2>为搜索字符表达式,<次数>指明<字符串1>在<字符串2>中第几次出现。
默认情况下,AT()函数搜索<字符串1>在<字符串2>中第一次出现的位置。
使用<次数>可以搜索<字符串1>在<字符串2>中第n次出现的位置。
如果没有搜索到,返回数值0。
AT()函数区分字符串中字母的大小写。
如:
?
AT("ABC","DSABCFABCGRABC") &&结果为3
?
AT("ABC","DSABCFABCGRABC",3) &&结果为12
?
AT("ABC","DSABCFABCGRABC",6) &&结果为0
?
AT("abc","DSABCFABCGRABC") &&结果为0
八、SPACE() 讲解
语法:
SPACE(<数值型表达式>)
功能:
返回由指定数目的空格构成的字符串。
函数值为字符型。
如:
STORESPACE(10)TOX &&将10个空格字符串赋值给变量X
Y=SPACE(10) &&将10个空格字符串赋值给变量Y
日期时间函数
练习题
一、系统日期日期函数DATE() 讲解
语法:
DATE()
功能:
给出系统的当前日期。
函数值为日期型。
函数值的格式由SETDATETO和SETCENTURYON|OFF命令决定。
在VisualFoxPro中,没有命令和函数能改变系统日期。
如今天是1999年10月18日,则:
?
DATE() &&显示结果为:
99/10/18
二、系统时间函数TIME() 讲解
语法:
TIME()
功能:
按hh:
mm:
ss格式给出系统的当前时间。
函数值为字符型。
时间按一天24小时形式的8个字符输出。
如假设现在系统时间为18:
18:
18,则:
?
TIME() &&显示结果为:
18:
18:
18
三、日期函数DAY() 讲解
语法:
DAY(<日期表达式>|<日期时间表达式>)
功能:
以数值型返回给定日期表达式或日期时间表达式是某月中的第几天。
函数值为数值型。
如:
?
DAY({^1999/12/18}) &&显示结果为:
18
四、月份函数MONTH() 讲解
语法:
MONTH(<日期表达式>|<日期时间表达式>)
功能:
返回给定日期或日期时间表达式的月份值。
函数值为数值型。
如:
?
MONTH({^1999/12/18}) &&显示结果为:
12
五、年份函数YEAR() 讲解
语法:
YEAR(<日期表达式>|<日期时间表达式>)
功能:
从给定的日期表达式或日期时间表达式中返回年份。
函数值为数值型。
如:
?
YEAR({^1999/12/18}) &&显示结果为:
1999
六、系统日期和时间函数DATETIME() 讲解
语法:
DATETIME()
功能:
返回当前日期和时间。
函数值为日期时间型。
七、星期函数CDOW() 讲解
语法:
CDOW(<日期表达式>|<日期时间表达式>)
功能:
返回给定日期确定的英文星期名。
函数值为字符型。
如:
?
CDOW({^1999/9/18}) &&显示结果为:
Staurday
类型转换函数
练习题
一、ASC()函数 讲解
语法:
ASC(<字符表达式>)
功能:
将字符串中最左边一个字符转换为ASCII码。
函数值为数值型。
如:
?
ASC("DCBA") &&显示结果为:
68
?
ASC("dcba") &&显示结果为:
100
二、CHR()函数 讲解
语法:
CHR(<数值表达式>)
功能:
将数值作为ASCII码转换为相应的字符。
函数值为字符型。
?
CHR(97) &&显示结果为:
a
?
CHR(65) &&显示结果为:
A
三、CTOD()函数 讲解
语法:
CTOD(<日期型字符型表达式>)
功能:
将指定的数值字符串转换为日期型值。
函数为日期型。
?
CTOD("05/18/06") &&显示结果为:
05/18/06
?
CTOD("05/18/06")-CTOD("05/30/06") &&显示结果为:
-12
四、DTOC()函数 讲解
语法:
DTOC(<日期表达式>或<日期时间表达式>[,1])
功能:
将日期或日期时间表达式转换为字符串日期。
函数值为字符型。
如果函数有参数“1”,则返回yyyymmdd格式。
?
DTOC({^1999/09/10}) &&显示结果为:
09/10/99
?
DTOC({^1999/09/10},1) &&显示结果为:
19990910
五、DTOS()函数 讲解
语法:
DTOS(<日期表达式>或<日期时间表达式>)
功能:
将日期或日期时间表达式转换为数字字符串。
函数值为字符型。
?
DTOS({^1999/09/10}) &&显示结果为:
19990910
六、STR()函数 讲解
语法:
STR(<数值表达式1>[,<数值表达式2>[,<数值表达式3>]])
功能:
将数值表达式转换为字符串。
函数值为字符型。
<数值表达式1>指要转换为字符串的数值,<数值表达式2>指转换后字符串的长度,<数值表达式3>指保留的小数位。
省略<数值表达式3>,小数位默认为0;省略<数值表达式2>和<数值表达式3>时,默认字符串长度为10,小数位为0。
<数值表达式2>的取值范围是0-254,<数值表达式3>的取值范围是0-15。
如果指定的长度大于小数点左边的位数,STR()在字符串的前面加上空格,如果指定的长度小于小数点左边的位数,函数STR()返回一串“*”号,表示数值溢出。
如:
?
STR(5678.4321,10,1) &&显示结果为:
5678.4
?
STR(5678.4321,6,3) &&显示结果为:
5678.4
?
STR(5678.4321,3,3) &&显示结果为:
***
七、VAL()函数 讲解
语法:
VAL(<字符型表达式>)
功能:
把一个由数字组成的字符表达式转换为数值型数值。
函数值为数值型。
VAL()函数在字符串中从左到右处理数字,当遇到一个非数字字符(引导空格忽略)就结束。
如果字符串的第一个字符就不是数字,VAL()返回0。
函数值的小数位位数由SETDECIMALSTO决定,默认值是2。
如:
?
VAL("1234.5678") &&显示结果为:
1234.57
SETDECIMALSTO3
?
VAL("1234.5678") &&显示结果为:
1234.568
八、LOWER()函数 讲解
语法:
LOWER(<字符型表达式>)
功能:
以小写字母形式返回指定字符的表达式。
函数值为字符型。
如:
?
LOWER("ABCDe") &&显示结果为:
abcde
九、UPPER()函数 讲解
语法:
UPPER(<字符型表达式>)
功能:
用大写字母返回指定的字符表达式。
函数值为字符型。
如:
?
UPPER("abcde") &&显示结果为:
ABCDE
测试函数
练习题
一、BOF()函数 讲解
语法:
BOF([<表工作区号|表的别名>])
功能:
测试数据表记录指针是否超过了当前表或指定表的第一个记录,即是否到达表头。
函数值为逻辑型。
如果当前表或指定工作区的表记录指针指向了表头,则函数返回逻辑值.T.,否则返回逻辑值.F.。
如果省略参数,则指当前工作区。
二、EOF()函数 讲解
语法:
EOF([<表工作区号|表的别名>])
功能:
测试数据表记录指针是否超过了当前表或指定表中最后一个记录,即是否达到表尾。
函数值为逻辑型。
如果当前表或指定工作区的表记录指针指向了表尾,则函数返回逻辑值.T.,否则返回逻辑值.F.。
如果省略参数,则指当前工作区。
三、RECCOUNT()函数 讲解
语法:
RECCOUNT([<表工作区号|表的别名>])
功能:
返回当前表或指定表中的记录个数。
函数值为数值型。
如果当前工作区或指定工作区没有数据表打开,则函数值为0。
如果省略参数,则指当前工作区。
该函数的值不受SETDELETED和SETFILTER的影响,总是返回包括带有删除标记在内的全部记录数。
如果省略参数,则指当前工作区。
假设RSB.DBF数据表有9条记录。
USERSB &&打开数据表RSB
?
RECCOUNT() &&显示结果为:
9
四、RECNO()函数 讲解
语法:
RECNO([<表工作区号|表的别名>])
功能:
返回当前或指定表中当前记录的记录号。
函数值为数值型。
当前记录是指记录指针所在的记录。
如果用户指定的工作区或当前工作区没有打开的数据表,则RECNO()函数返回0。
如果记录指针在表中的最后一个记录之后,此时EOF()的值为.T.,函数RECNO()返回比表中记录总数多1的值。
如果记录指针在表中第一个记录之前或者表中没有记录,此时BOF()的值为.T.,RECNO()函数返回1,与记录指针指向第一条记录时返回的值一样。
如果省略参数,则指当前工作区。
如对上面所指的数据表RSB,有:
USERSB &&打开数据表RSB
?
RECNO() &&测试当前工作区当前记录号为:
1
GO6 &&将记录指针移到表中第6条记录
?
RECNO() &&测试当前工作区当前记录号为:
6
GOBOTTOM &&将记录指针移到表中最后一条记录
?
RECNO() &&测试当前工作区当前记录号为:
9
SKIP &&将记录指针再向下移一条记录
?
RECNO() &&测试当前工作区当前记录号为:
10
GO1 &&将记录指针移到表中第1条记录
?
RECNO() &&测试当前工作区当前记录号为:
1
SKIP-1 &&将记录指针再向上移1条记录
?
RECNO() &&函数返回值为:
1
五、FOUND()函数 讲解
语法:
FOUND([<表工作区号|表的别名>])
功能:
在当前或指定表中,检测是否找到所需的数据。
函数值为逻辑型。
如果对数据表实现由FIND、SEEK、LOCATE和CONTINUE操作,如果找到了满足条件的记录,则FOUND()函数返回值为.T.,否则为.F.。
如果指定工作区中没有数据表打开,则FOUND()函数返回假.F.。
如果省略FOUND()函数括号中的参数,则指默认当前工作区。
假设数据表RSB中职称字段有值”副教授”,则
USERSB &&打开数据表
LOCATEFOR职称="副教授" &&定位数据表中职称为副教授的第一条记录
?
FOUND() &&显示结果为:
.T.
六、TYPE()函数 讲解
语法:
TYPE(<字符型表达式>)
功能:
测试字符型表达式的类型,返回用字母代表的数据类型。
函数值为字符型。
TYPE()函数中的参数必须用双引号、单引号或方括号括起来。
TYPE()中的参数可以是常量、内存变量、字段等组成的表达式,TYPE()首先计算表达式,然后返回一个指示该表达式类型的单个字母。
这些单个字母就是我们前面介绍数据类型时介绍的代表数据类型的一些字母,如C代表字符型、N代表数值型、L代表逻辑型等。
如:
A="Good!
"
?
TYPE("A") &&显示结果为:
C
?
TYPE("23") &&显示结果为:
N
?
TYPE("15+13") &&显示结果为:
N
?
TYPE("18>6.AND.20<18") &&显示结果为:
L
七、FILE()函数 讲解
语法:
FILE(<文件名>)
功能:
检测指定的文件是否存在。
函数值为逻辑型。
函数中的<文件名>必须是全称,包括路径和扩展名,如果省略了路径,则只在当前文件夹下查找;如果在默认的文件夹下找不到所指的文件,则到由SETPATH指定的路径寻找。
如果指定的文件存在,函数值为.T.,否则为.F.。
如在i当前文件夹下有RSB.DBF文件,没有AA.BMP文件,则:
?
TYPE("RSB.DBF") &&显示结果为:
.T.
?
TYPE("AA.BMP") &&显示结果为:
.F.
八、IIF()函数 讲解
语法:
IIF(<逻辑表达式>,<表达式1>,<表达式2>)
功能:
根据逻辑表达式的值,如果为真.T.,返回<表达式1>的值,如果为假.F.,返回<表达式2>的值。
该函数称为立即IF。
函数值的类型随<表达式1>和<表达式2>的值而定。
如:
?
IIF(18>9,12,6) &&显示结果为:
12
?
IIF(18<9,12,6) &&显示结果为:
6
X=98
Y=68
?
IIF(X>Y,X,Y) &&显示结果为:
98
表达式相关的新概念
练习题
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数值 函数
![提示](https://static.bdocx.com/images/bang_tan.gif)