一、函数的定义:函数是一种自带程序的模块,我们只需调用即可,一般用于辅助计算。
其格式:函数名(<;参数>)。运算时不能直接写在命令窗口,必须以“?”开始。
二、函数类型:根据类型不同可为五种:数值函数、字符函数、日期函数、类型转换函数、测试函数。
1、数值函数:
⑴取整函数int()
?int(12.5689) 运算结果为:12
?int(-100.23) 运算结果为:-100
⑵求绝对值函数abs()
?abs(-125) 运算结果为:125
?abs(200) 运算结果为:200
⑶圆周率函数pi()
?
pi() 运算结果为:3.14
⑷求平方根函数sqrt()
?sqrt(100) 运算结果为:10
⑸四舍五入函数round()
?round(123.567,2) 运算结果为:123.57(保留两位小数)
?round(123.567,-1) 运算结果为:120(表示在小数点左边截取1位)
?round(123.567,-3) 运算结果为:0
?round(532.567,-3) 运算结果为:1000
⑹对数函数log()
?log(100) 运算结果为:4.61
⑺常用对数函数log10()
?
log10(100) 运算结果为:2.00
⑻指数函数exp()
?exp(120) 运算结果为:1.304180E+52
⑼最大值函数max()
?max(1,2,3,10) 运算结果为:10
⑽最小值函数min()
?min(2,10,3,-1) 运算结果为:-1
⑾符号函数sign()
?sign(100) 运算结果为:1 (表示正数)
?sign(-200) 运算结果为:-1(表示负数)
?sign(0) 运算结果为:0 (表示0)
2、字符函数
⑴求字符串长度函数len()
?len(”abcd”) 运算结果为:4
?len(”计算机AB”) 运算结果为:8(一个汉字占两个字节)
⑵删除左空格函数ltrim()
?ltrim(” abcd ”) 运算结果为:abcd (左无空格,右有两个空格)
⑶删除右空格函数ltrim()或trim()
?ltrim(” abcd ”) 运算结果为:abcd (左有两个空格,右无空格)
⑷左右都删除空格函数alltrim()
?ltrim(” abcd ”) 运算结果为:abcd (左右都无空格)
⑸生成空格函数space()
?
’ab’+space(4)+’cd’ 运算结果为:ab cd(中间有四个空格)
⑹生成重复字符函数replicate()
?replicate(”*”,10) 运算结果为:**********
⑺截取子串函数substr()
?substr(”abcdefg”,2,3) 运算结果为:bcd(“2”截取的位置,”3”截取的总字节数)
⑻截取左子串函数left()
?left(”abcdefg”,4) 运算结果为:abcd(“4”表示截取的总字节数。用户自定义)
⑼截取右子串函数right()
? right(”abcdefg”,4) 运算结果为:defg
⑽把大写字母转成小写字母函数lower()
?lower(”ABCDEF”) 运算结果为:abcdef
⑾把小写字母转成大写字母函数upper()
?upper(”abcdefg”) 运算结果为:ABCDEFG
⑿子串替换函数stuff()
.x=”今天白天到夜里多云”
?stuff(x,15,6,”有小雨”)运算结果为:今天白天到夜里有小雨(“15”表示开始替换的位置,“6”表示要替换6个字节。)
?stuff(x,17,0,”渐”) 运算结果为:今天白天到夜里渐多云(“0”表示替换0个字节相当于替换)
3、日期函数
⑴系统日期函数date()
?date() 运算结果为:07/31/04(系统当前日期)
⑵系统时间函数time()
?time() 运算结果为:19:49:49
⑶系统日期时间函数datetime()
?datetime() 运算结果为:07/31/04 07:49:49 PM
⑷年函数year()
?year({^2004-07-31}) 运算结果为:2004
?year(date()) 运算结果为:2004
?year({^2004-07-31 19:49:49}) 运算结果为:2004
⑸月函数(一)month()
?month(date()) 运算结果为:7
?month({^2004-07-31}) 运算结果为:7
?month({^2004-07-31 19:50:45}) 运算结果为:7
⑹月函数(二)cmonth()
?
cmonth(date()) 运算结果为:July(用英文单词表示几月)
?cmonth({^2004-07-31}) 运算结果为:July(用英文单词表示几月)
?cmonth({^2004-07-31 19:50:45}) 运算结果为:July(用英文单词表示几月)
⑺月函数(三)gomonth()
?gomonth(date(),3) 运算结果为:10/31/04(定位月份)
?gomonth({^2004-07-31},3) 运算结果为:10/31/04(定位月份)
?gomonth({^2004-07-31 19:50:45},3)运算结果为:10/31/04 07:50:45 PM( 定位月份)
⑻日函数day()
?day({^2004-07-31}) 运算结果为:31
?day({^2004-07-31 19:50:45}) 运算结果为:31
⑼时函数hour()
?
hour({^2004-07-31 07:55:12}) 运算结果为:7
⑽分函数minute()
?minute({^2004-08-01 09:46:02}) 运算结果为:45
⑾秒函数sec()
?sec({^2004-08-01 09:46:02}) 运算结果为:02
⑿周函数week()
?week({^2004-08-01}) 运算结果为:32(算出给定日期在一年中是第几周)
?week({^2004-08-01 09:48:11}) 运算结果为:32(算出给定日期时间在一年中是第几周)⒀星期函数(一)dow()
?dow({^2004-08-01}) 运算结果为:1(用数字表示当天星期几,西方认为周日做为下一周的第一天)?dow({^2004-08-01 09:52:14}) 运算结果为:1(意思同上)
⒁星期函数(二)cdow()
?cdow({^2004-08-01}) 运算结果为:Sunday(用英文表示当天是星期几)
?cdow({^2004-08-01 09:52:14}) 运算结果为:Sunday(用英文表示当天是星期几)
4、类型转换函数
⑴将数值型转为字符型函数str()
?str(1234.567,7,2) 运算结果为:1234.57(“7”表示转换后的总字节数,“2”表示保留两为小数。都是用户自定义)
?str(1234.567,7) 运算结果为:1235(不要求小数位,系统只转整位,位数不够,在字符串前以空格补齐(3个))
?str(1234.567) 运算结果为:1235(不要求长度、小数位,系统默认转换后为10个字节的整数位,前面以空格补齐(6个))
⑵将字符型转为数值型函数val()
?val(”1234”) 运算结果为:1234.00(一般转数字字符串,默认2个小数位)
?
val(”h1234”) 运算结果为:0(只要第一个位置不是数字,结果为0)
?val(”123k4”) 运算结果为:123.00(只转不是数字前面的,本身和后面的都舍去)
⑶将字符型转为日期型函数ctod()
?ctod(”08/01/2004”) 运算结果为:08/01/04(写成系统默认的mm/dd/yy)
⑷将字符型转为日期时间函数ctot()
?ctot(”08/01/2004”+”,”+”10:21:03”)运算结果为:08/01/04 10:21:03 AM
?ctot(”08.01.2004”+” ”+”10:21:03”)运算结果为:08/01/04 10:21:03 AM (有空格)
⑸将日期型转为字符型函数dtoc()
?dtoc({^2004-08-01}) 运算结果为:08/01/04(字符串)
?dtoc({^2004-08-01},2) 运算结果为:20040801(字符串)(可加任何数字参数)
⑹将日期时间转为字符型函数ttoc()
?
ttoc({^2004-08-01 10:28:00}) 运算结果为:08/01/04 10:28:00(字符串)
?ttoc({^2004-08-01 10:28:00},1) 运算结果为:20040801102800(可加任何数字参数)
⑺将字符转为相应的ASCII值(数字)函数asc()
?asc(”a”) 运算结果为:97
?asc(”1”) 运算结果为:49
?asc(”我”) 运算结果为:52946
?asc(”*”) 运算结果为:42
⑻将ASCII值(数字)转为相应的字符函数chr()
?chr(100) 运算结果为:d
?chr(40) 运算结果为:(
?chr(55520) 运算结果为:剜
?
chr(45820) 运算结果为:颤
?chr(7) 运算结果为:响铃
5、测试函数
⑴值域测试函数between()
?between(2,1,7) 运算结果为:.T.(测试2是否在1和7之间)
trim函数用于删除空格⑵空值测试函数empty()
?empty(0) 运算结果为:.T.(数值型数据0时为空)
?empty(.F.) 运算结果为:.T.(逻辑型数据.F.表示空)
?empty({/:}) 运算结果为:.T.(日期或日期时间表示为空)
?empty(ctod(””)) 运算结果为:.T.(转换函数表示为空)
?empty(””) 运算结果为:.T.(空字符串表示为空)
⑶数据类型测试函数vartype()
?vartype(4) 运算结果为:N(数值型)
?vartype(”ab”) 运算结果为:C(字符型)
?vartype(.F.) 运算结果为:L(逻辑型)
?vartype({^2004-08-01}) 运算结果为:D(日期型)
?vartype({^2004-08-01 15:44:20})运算结果为:T(日期时间)
?vartype($100) 运算结果为:Y(货币型)
?vartype(a) 运算结果为:U(未定义)
?vartype(null) 运算结果为:X(空值)
⑷查函数found()
?found() 运算结果为.F.(到为.T.,不到为.F.)
⑸条件测试函数iif()
.x=100
.y=200
?iif(x<>y,x+y,x/y) 运算结果为300(根据比较运算结果算值:该结果为.T.时,算第一个表达式的值,该结果为.F.时,算第二个表达式的值。)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。