第一范文网 - 专业文章范例文档资料分享平台

VB常用内部函数

来源:用户分享 时间:2020-06-18 本文由一生全靠浪 分享 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

4.5 常用内部函数

为了满足用户编程的需要,VB在系统内部提供了若干个能完成某个特定功能的程序段,这些程序段称为内部函数。如求某个数的平方根的函数,求某个数的对数的函数等。 在程序中使用函数称为函数调用,函数调用的一般格式为: 函数名(参数1,参数2,?)

其中,参数(也称自变量)放在圆括号内,若有多个参数,参数间以逗号分隔。

函数调用后,一般都有一个返回值,即函数值。例如:

y=Sqr(7)

其中,Sqr是内部函数名,7为参数。运行时,该语句调用内部函数Sqr来求7的平方根,其计算结果由系统返回作为Sqr的值。本例把返回值赋给变量y。

在包含有函数的表达式中进行运算时,系统将优先进行函数调用。函数调用往往包含在表达式中,不能作为一条独立的语句使用。

VB的内部函数大体上分为四大类:数学函数、字符串函数、日期与时间函数和转换函数。

4.5.1 数学函数

表4-5列出了VB提供的10种常用数学函数。

表4–5 常用数学函数 函 数 Sin(x) Cos(X) Tan(x) Sqr(x) Exp(x) Log(X) Fix(x) 返回值类型 Double Double Double Double Double Double Double 功 能 x的正弦值 x的余弦值 x的正切值 x的平方根 e(自然对数的底)的幂值 x的自然对数值 取x的整数部分 例 子 Sin(60*3.14/180) Cos(60*3.14/180) Tan(60*3.14/180) Sqr(4) Exp(1) Log(x)/Log(10) Fix(9.8) Fix(-9.8) Int(x) Double 取不大于x的最大整数 Int(9.8) Int(-9.8) Sgn(3) Sgn(x) Integer 取x的符号 Sgn(0) Sgn(-3) Abs(x) 与x相同 x的绝对值 Abs(-3.6) 结 果 0.8657598? O.5004596? 1.7299292? 2 2.71828182 Log10x 9 -9 9 -10 1 0 -1 3.6 说明:

(1) 三角函数的自变量单位是弧度,如sin32°应写成Sin(32*3.14159/180)。 (2) Sqr的自变量不能是负数。

(3) Log函数是求自变量的自然对数值。若要求任意底数n数值x的常用对数值,即求

lognx的值,需要使用公式:Log(x)/Log(n)。

Log和Exp互为反函数,即Log(Exp(x))、 Exp(Log(x))的结果还是原来自变量x的值。 (4) 函数Int是求小于或等于自变量x的最大整数。Fix是求自变量X的整数。Int和Fix

的区别是,若x<0,则Int得到的是小于或等于x的第一个负整数,而Fix则得到大于或等于x的第一个负整数;若x≥0,则两者的值相同。例如,Int(-6.53)=-7,Fix(-6.53)=-6。 利用Int函数可以对数据进行四舍五入处理。例如,对一个正数x舍去小数位时进行四舍五入,可采用如下式子: Int(x + 0.5)

当x=7.4时,Int(7.4 + 0.5)=7

当x=7.5时,Int(7.5 + 0.5)=8

4.5.2字符串函数

表4-6列出了VB提供的部分常用字符串函数。

表4–6 字符串函数

函 数 返回值类型 功 能 例 子 结 果 Instr([f,]字符串1, Integer 字符串2[,k]) Len(字符串) Lcase(字符串) Ucase(字符串) Mid(字符串,m[,n]) Left(字符串,n) Right(字符串,n)Ltrim(字符串) Rtrim(字符串) Trim(字符串) String(n,字符) Space(n) Integer String String String String String String String String String String 在字符串1中从f开始找字符串2,Instr(\ABabc\3 省略f从头开始找,找不到值为0 求字符串长度 转换成小写 转换成大写 从第m个开始取n个字符 取字符串左边的n个字符 取字符串右边的n个字符 去掉字符串左边的空格 去掉字符串右边的空格 去掉字符串左、右两边的空格 生成n个字符的字符串 生成n个空格的字符串 Len(\VB程序设计\) 6 Lcase(\Abab\) Ucase(\Abab\ Mid(\ABCDE\,2,3) Left(\ABCDE\3) Right(\ABCDE\3) Ltrim(\ AB \Rtrim(\ AB \Trim(\ AB \String(4, \*\) Space(4) \abab\\ABCD\\BCD\\ABC\\CDE\\AB \\ AB\\AB\\****\\ \说明:

(1) 函数Instr是返回字符串2在字符串1中最先出现的位置,f是每次搜索的起点。k为可选参数,表示比较方式。若k为O(默认),表示区分大小写;若k为1,则不区分大小写。

例如,Instr(3,\A12a34A56\,\A\)的结果为7,而Instr(3,\A12a34A56\,\,1)的结果为4。

(2) 在函数Mid中,若省略n,则得到的是从m开始的往后所有字符,如Mid(\ABCDE\2)的结果为“BCDE”。在字符串处理中,经常使用如下格式的Mid语句: Mid(字符串,m[,n])=子字符串

该语句用“子字符串”替换“字符串”中从m开始的与“子字符串”等长的一串字符。若使用参数n,则用“子字符串”左起n个字符来替换“字符串”中从m开始的n个字符。例如,假设S=\ABCDE\,执行语句Mid(S,3)= \99\后,s的值为\AB99E\。

4.5.3 日期与时间函数

日期/时间函数用于进行日期和时间处理。表4-7列出了常用的日期/时间函数。

表4-7 日期/时间函数

函 数 返回值类型 功 能 例 子 结 果 Date[()] Time[()] Now Hour(时间) Date Date Date Integer 返回系统日期 返回系统时间 Date Time 示例:10/10/2007 示例:8:03:28 示例: 10/10/2007 8:03:28 8 返回系统日期和时间 Now 返回小时数 返回分钟数 返回秒数 返回星期代号 返回日数 返回月份数 返回年度数 Hour(#8:3:28 AM#) Minute(时间) Integer Second(时间) Integer Weekday(日期) Integer Day(日期) Month(日期) Year(日期) Integer Integer Integer Minute(#8:3:28 AM#) 3 Second(#8:3:28 AM#) 28 Weekday(#10/10/2007#) 4 即星期三 Day(#2007/10/10#) Month(#2007/10/10#) Year(#2007/9/24#) 10 10 2007 说明:

函数Weekday的完整格式是Weekday(日期,[c]),c是用于指定星期几为一个星期第一天的常数,缺省时表示一周的星期天为第一天。

4.5.4 转换函数

转换函数用于数据类型的转换。表4-8列出了常用的转换函数。

表4–8转换函数

函 数 返回值类型 功 能 返回字符串中首字符的ASCII码值 将ASCII码值x转换为字符 将x转换为整型数,小数部分四舍五入 将数字字符串x转换为数值 将数值转换为字符串,非负数值保留符号位 例 子 Asc(\BD\) Chr(66) 结 果 66 \ Asc(字符串) Integer Chr(x) Cint(x) String Integer Cint(34.53) 35 2+Val(\15\) Str(3) 17 \ 3\ \3\ Val(字符串) Double Str(x) CStr(x) String String 将数值转换为字符串,非负数值不保留符号位 CStr(3) 说明:

(1) Asc(x)与Chr(x) 函数互为反函数,即Chr(Asc(x))、Asc(Chr(x))的值为原来各自变量的值。例如:Asc(Chr(65)) 的值为65,Chr(Asc(\A \) 的值为\A \。

(2) CInt的四舍五入是按“奇进偶不进”的原则进行,即当小数点前为奇数时,小数点后的数按四舍五入方式进行;当小数点前为偶数时,小数点后的数小于等于五时舍去,大于五时进入。例如:3.5四舍五入的结果为4,4.5四舍五入的结果为4,而4.51四舍五入的结果为5。

(3) Val 函数将数字字符串转换为数值型数字时,遇到数字字符串中出现非数值字符(表示指数的E、e、D、d除外)时停止转换,返回停止转换前的数值常量来确定其值,例如: Val(\A34 \) 的值为0 Val(\34A12 \) 的值为34

Val(\1.2e3 \) 的值为1200

(4) 使用Str和CStr两个函数转换同一个正整数时,转换后的字符串长度相差1。

4.5.5 随机函数

用随机函数可以模拟自然界中的各种随机现象,它所产生的随机数可以提供给各种运算或试验使用。VB中的随机函数所产生的方法是由一个随机种子出发,再根据某种算法而产生的一个随机数序列。所以如果随机种子不变,所产生的随机数序列就总是一样的。为了更好的模拟自然界中的各种随机现象,就要选取不同的随机种子,使得每次产生不同的随机数序列,比较好的方法是将计算机的系统时间作为随机种子。

随机函数Rnd的使用格式如下:

Rnd[(x)] 其中:参数x是可选的Single型数据。函数值的类型也是Single型的随机数值。随X取值不同,函数值有如下几种情况:

(1)当x<0时,则每次都使用x作为随机种子得到相同的随机数; (2)当x>0时,则产生随机序列中的下一个随机数; (3)当x=0时,则产生最近生成的随机数;

(4)当省略x时,则产生随机序列中的下一个随机数。

说明:

(1)Rnd 函数产生一个大于等于零但小于1的随机数。

(2)当反复运行一个程序时,总是产生同一序列的随机数。为了避免这种情况,在调用Rnd 函数之前,先使用 Randomize 语句来初始化随机数生成器,使该生成器以系统时间作为随机种子,每次运行程序就会得到不同的随机数。Randomize 语句的格式如下: Randomize

(3)Rnd 函数通常与Int 函数配合使用。例如Int(4*Rnd+1)可以产生1~4范围内(含1和4)的随机整数,也就是说,该表达式的值可以是1,2,3或4,这由VB运行时随机给定。

要生成[下界,上界]范围内的随机整数,可以使用公式:

Int((上界 - 下界 + 1) * Rnd + 下界)

4.5.6 格式输出函数

为满足Print语句的输出格式需要,VB提供了几个输出格式函数。 1.Spc函数 格式: Spc(n)

功能:在输出项之间输出n个空格。 2.Tab函数 格式: Tab (n)

功能:指定输出项在输出行的位置。 【例4.8】Tab函数与Spc函数使用示例。 程序代码如下:

Private Sub Form_Click()

Print \姓名\家庭住址\电话号码\

Print Tab(1); \李辉\苏州市人民路甲13号\End Sub

程序运行结果如图4.6所示。

图4.6 Tab函数与Spc函数示例

3.Format函数

格式输出函数Format()可以使数值、日期或字符串按指定的格式输出。该函数通常用在Print语句中。其格式如下: Format(表达式[,格式字符串]) 其中:

表达式:为要格式化的数值、日期或字符串类型表达式。

格式字符串:表示按其指定的格式输出表达式的值。格式字符串有三类:数值格式、日期格式和字符串格式。使用时格式字符串要加引号。

(1)数值格式符

数值格式符是将数值表达式的值按“格式字符串”规定的格式输出。数值格式符见表4-9。

表4-9数值格式符

格 式 符 # 0 @ . % , E+,E- +,-,$ \\ 功 能 占位符,显示一位数字。不足位不用0补足 占位符,不足位用0补足 占位符,显示一位数字。不足位不用0补足 显示小数点 以百分比形式输出,且出现%符号 显示千位分隔符 以指数格式输出 正、负号及美元符号原样输出 \\号后的内容原样输出 说明:

① 对于格式符“#”或“0”,都为占位符。相同之处是,有一个“#”或“0”,显示一位数字。若要显示数值表达式的整数部分位数多于格式字符串的位数时,按实际数值显示;若小数部分的位数多于格式字符串的位数时,按四舍五入显示。不同之处是,“0”按规定的位数显示,“#”对于整数前的0或小数后的0不显示。 ②“@”与“#”的区别是,数值表达式显示时在格式符规定长度内的对齐方式不同。格式符“@”是右对齐,格式符“#”是左对齐。 【例4.9】数值格式符使用示例。 程序代码如下:

Private Sub Form_Click() x = 1234.5678

Print Format(x, \####.##\)

Print Format(x, \000000.0000\) Print Format(x, \########%\) Print Format(x, \+##,###.###$\)

搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新工程科技VB常用内部函数 全文阅读和word下载服务。

VB常用内部函数 .doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/wenku/1083266.html(转载请注明文章来源)
热门推荐
Copyright © 2018-2022 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top