对于用户来说,程序设计语言中的函数与数学上的函数没有什么区别,使用函数要有参数(自变量),可以从函数得到一个返回的值(因变量)。而从程序设计的角度来看,函数是子程序的一种,它能完成一种特定的运算。
1.函数的分类
VFP的函数有两种,一种是用户自定义的函数,一种是系统函数。自定义函数由用户根据需要自行编写 , 系统函数则是由VFP提供的内部函数,用户可以随时调用。
VFP提供的系统函数大约有380多个,主要分为:数值函数、字符处理函数、表和数据库函数、日期时间函数、类型转换函数、测试函数、菜单函数、窗口函数、数组函数、SQL查询函数、位运算函数、对象特征函数、文件管理函数以及系统调用函数等14类。
2.常用函数
VFP提供了大量的系统函数供编程人员使用,下面列出常用的一些函数。
(1)数学函数
| 函数格式 |
说 明 |
| ABS(N) |
求N的绝对值 |
| COS(N) |
求N的余弦函数 |
| EXP(N) |
求N的e指数函数 |
| INT(N) |
取N的整数,对负数取较小的整数 |
| LOG(N) |
求N的自然对数 |
| MAX(N1,N2) |
求N1、N2中的最大者 |
| MIN(N1,N2) |
求N1、N2中的最小者 |
| MOD(N1,N2) |
求N1除以N2的余数 |
| PI() |
求圆周率 |
| RAND(N) |
产生0—1之间的随机数 |
| ROUND(N1,N2) |
按N2指定的小数位数求N1四舍五入后的值 |
| SIGN(N) |
求N的正负符号 |
| SIN(N) |
求N的正弦函数 |
| SQRT(N) |
求N的平方根 |
| TAN(N) |
求N的正切函数 |
(2)字符串函数
|
函数格式 |
说 明 |
| ALLTRIM(C) |
去掉C的前导空格和尾随空格 |
| ASC(C) |
求C中最左边一个字符的ASCII码值 |
| AT(C1,C2) |
返回C1在C2中出现的开始位置(整数值) |
| LEFT(C,n) |
从字符串C的左边取长度为n的子串 |
| LEN(C) |
求字符串C长度 |
| RIGHT(C,n) |
从字符串C的右边取长度为n的子串 |
| L0WER(C) |
将字符串C中的大写字母转换为小写字母 |
| SPACE(n) |
返回n个空格字符组成的字符串 |
| SUBSTR(C,n[,m]) |
从字符串C中提取从n开始的m个字符的子串,若省略m则取n开始的所有字符 |
| UPPER(C) |
将字符串表达式中的小写字母转换为大写字母 |
(3)日期函数
| 函数格式 |
说 明 |
| DATE() |
系统当前日期 |
| TIME() |
系统当前时间 |
| DATETIME() |
系统当前日期和时间 |
| DOW(D) |
取日期表达式D的星期号(1为星期天) |
| YEAR(D) |
取日期D的年份值 |
| MONTH(D) |
取日期D的月份值 |
| DAY(D) |
取日期D在月份中的天数值 |
| HOUR(D) |
取时间D中的小时数 |
| MINUTE(D) |
取时间D中的分钟数 |
| SEC(D) |
取时间D中的秒数 |
(4)类型转换函数
|
函数格式 |
说 明 |
| CHR(ASCII码) |
返回与ASCII码相应的字符 |
| CTOD(C) |
转换C表达式为对应的日期值 |
| CTOT(C) |
转换C表达式为对应的日期时间值 |
| DTOC(D) |
转换日期表达式D为字符串 |
| STR(N,n,m) |
转换数值表达式N为数字字符串 |
| TTOC(D) |
转换日期时间表达式D为字符串 |
| VAL(C) |
返回数字字符串C对应的数值 |