常用函数与表达式的使用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二常用函数与表达式的使用
一、实验目的:
1、了解数值、日期等重要函数的格式和使用方法;
2、表达式的使用
二、实验要示:
1、学会各种函数格式要求;
2、函数的运算;
3、表达式的书写与应用。
二、实验内容与步骤:
函数是用程序来实现的一种数据运算或转换。每一个函数都有特定的数据运算或转换功能,它往往需要若干个自变量,即运算对象,但只能有一个运算结果,称为函数值或返回值。函数可以用函数名加一对圆括号调用,自变量放在圆括里,如LEN(X);函数调用可以出现在表达式里,表达式将函数的返回值作为自己运算的对象。函数调用也可以作为一条命令使用,但此时系统忽略函数的返回值。
1.数值函数
数值函数是指函数值为数值的一类函数,它们的自变量和返回值往往都是数值型数据。
(1)绝对值和符号函数
格式:ABS(<数值表达式>)
SIGN(<数值表达式>)
功能:ABS()返回指定的数值表达式的绝对值.
SIGN()返回指定数值表达式的符号.当表达式的运算结果为正、负、零时,
函数值分别为1,-1和0。
例:STORE 10 TO X
?ABS(5-X),ABS(X-5),SIGN(5-X),SIGN(X-10)
5 5 -1 0
(2)求平方根函数
格式:SQRT(<数值表达式>)
功能: 返回指定数值表达式的平方根。自变量表达式的值不能为负。
例:?SQRT(2*SQRT(2))
1.68
STORE –100 TO X
?SIGN(X)*SQRT(ABS(X))
-10
(3)求整数函数
格式:INT(<数值表达式>)
功能:返回指定数值表达式的整数部分。
例:STORE 5.8 TO X
?INT(X),INT(-X)
5-5
(4)四舍五入函数
格式:ROUND(<数值表达式1>,<数值表达式2>)
功能:返回指定表达式在指定位置四舍五入后的结果. <数值表达式2>指明四舍五入
的位置.若<数值表达式2>大于等于0,那么它表示的是要保留的小数位数. 若<数值表达式2>小于0,那么它表示的是整数部分的舍入位数.
例:X=345.345
?ROUND(X,2),ROUND(X,1),ROUND(X,0),ROUND(X,-1)
345.34 345.3 345 350
(5)求余函数
格式:MOD(<数值表达式1>,<数值表达式2>)
功能:返回两个数值相除后的余数. <数值表达式1>是被除数,<数值表达式2>是除数.余数的正负号与除数相同.如果被除数与除数同号,那么函数值即两个数相除的余数;如果异号,则函数值为两数相除的余数再加上除数的值.
例:?MOD(10,3),MOD(10,-3),MOD(-10,3),MOD(-10,-3)
1 -
2 2 -1
2.字符函数
(1)求字符串长度函数
格式:LEN(<字符表达式>)
功能:返回指定字符表达式值的长度,即所包含的字符个数.函数值为数值型.
例: X=”中文VISUAL FOXPRO6.0”
?LEN(X)
20
(2)大小写转换函数
格式:LOWER(<字符表达式>)
UPPER(<字符表达式>)
功能:LOWER()将指定表达式中的大写字转换成小写字母,其他字符不变.UPPER()将指定表达式中的小写字转换成大写字母,其他字符不变.
例:?LOWER(‘X1y2A*’),upper(‘n=1)
x1y2a* N=1
(3)空格字符串生成函数
格式:SPACE(<数值表达式>)
功能: 返回由指定数目的空格组成的字符串
(4)删除前后空格函数
格式:TRIM(<字符表达式>)
LTRIM(<字符表达式>)
ALLTRIM(<字符表达式>)
功能:TRIM()返回指定字符表达式值去掉尾部空格后形成的字符串
LTRIM()返回指定字符表达式值去掉前导空格后形成的字符串
ALLTRIM()返回指定字符表达式值去掉前导和尾部空格后形成的字符串
例:STORE SPACE(1)+”TEST”+SPACE(3) TO SS
?TRIM(SS)+LTRIM(SS)+ALLTRIM(SS)
TESTTEST TEST
?LEN(SS),LEN(TRIM(SS)),LEN(LTRIM(SS)),LEN(ALLTRIM(SS))
8 5 7 4
(5)取子串函数
格式:LEFT(<字符表达式>,长度)
RIGHT(<字符表达式>,长度)
SUBSTR(<字符表达式>,<起始位置>[,长度])
功能:LEFT()从指定表达式值的左端取一个指定长度的子串作为函数值.RIGHT()从指定表达式值的右端取一个指定长度的子串作为函数值.SUBSTR()从指定表达式值的指定起始位置取指定长度的子串作为函数值若缺省第三个自变量<长变>,则函数从指定位置一直取到最后一个字符.
例:STROE “GOOD BYE!”TO X
?LEFT(X,2),SUBSTR(X,6,2)+SUBSTR(X,6),RIGHT(X,3)
GO BYBYE! YE!
(6)求子串位置函数
格式:AT(<字符表达式1>,<字符表达式2>[,<数值表达式>])
ATC(<字符表达式1>,<字符表达式2>[,<数值表达式>])
功能:AT()的函数值为数值型.如果<字符表达式1>是<字符表达式2>的字串,则返回<字符表达式1>值的首字符在<字符表达式2>值中的位置;若不是子串,则返回0. <数值表达式>用于表明要在<字符表达式2>值中搜索<字符表达式1>值的第几次出现.其默认值为1.
ATC()与AT()功能类似,但在子串比较时不区分字母大小写.
例:X=”this is visual foxpro”
?at(“fox”,x),at(“Fox”,x)
16 0
3.日期和时间函数
(1)系统日期和时间函数
格式:DATE()
TIME()
DATETIME()
功能:DATE()返回当前系统日期,涵数值为日期型.
TIME()以24小时制、HH;MM:SS格式返回当前系统时间,函数值为字符型。
DATETIME()返回当前系统日期时间,函数值为日期时间型。
例:?DATE(),TIME(),DATETIME()
4.函数类型转换函数
(1)数值转换成字符串
格式:STR(<数值表达式>[,长度[,<小数位数>]])
功能:将<数值表达式>的值转换成字符串,转换时根据需要自动进行四舍五入,返回
字符串的理想长度L应该是<数值表达式>值的整数部分位数加上<小数位数>值,再
加上1位小数点.如果<长度>值大于L,则字符串加前导空格以满足规定的<长度>要求;如果<长度>大于等于<数值表达式>值的整数部分位数(包括负号)但又小于L,则优先满足整数部分而自动调整小数位数;如果<长度>值小<数值表达式>值的整数部
分位数,则返回一串星号(*).小数位数的默认值为0,<长度>的默认值为10.
例:N=-123.456
?”N=”+STR(N,8,3)
N=-123.456
?STR(N,9,2),STR(N,6,2),STR(N,3),STR(N,6),STR(N)
-123.46 -123.5 *** -123 -123
(2)字符串转换成数值
格式:VAL(<字符表达式>)
功能:将由数字符号(包括正负号、小数点)组成的字符型数据转换成相应的数值型数