3.5 常用内部函数
与Print方法有关的函数
• • • •
Spc(n) 功能:该函数用于跳过n个空格 说明:n是一个数值表达式 Spc(n)与其它输出项之间用分号隔开
Private sub form_click() Print spc(10);”visual”;spc(10);”Basic” End sub 输出结果:
与Print方法有关的函数
• Space$(n)函数 • 功能:返回n个字符,作用相当于按下n次 空格 • 说明:同spc(n) • Private sub form_click() Print space$(10);”visual”;space$(10);”Basic” End sub • 输出结果
Len(“VB欢迎你!”)=_____
Left、Right和Mid函数
Left$(“ABCDEFG”,3)=_______ Mid$(“ABCDEFG”,2,3)=______
InStr函数
InStr(“ABCDEFGEF”, “EF”)=________
– Ltrim、Rtrim和Trim函数 – 编程题
4、日期和时间函数
函数 类型 函数名 称 date time 日期 函数 Year() Month() Day()
Weekday()
函数说明
返回系统日期yyyy-mm-dd 返回系统日期 返回系统时间hh:mm:ss 返回系统时间 返回年份yyyy 返回年份 返回参数d中指定的月份 返回参数 中指定的月份1中指定的月份 12 返回参数d中指定月份的第 返回参数 中指定月份的第 几天1-31 几天 返回参数d中指定的星期几 返回参数 中指定的星期几 1-7 返回小时(0~23) 返回小时
练习
说明: 如果返回是字符型,则函数后有“$”字符。当 然一般也可以不写,习惯都写上。例如: len("This is a book!") 15 Left$("ABCDEFG",3) "ABC" Right ("ABCDEFG",3) “EFG" Mid$("ABCDEFG",2,3) "BCD“ Ucase("ABcd") "ABCD" Lcase("ABcd") " abcd" Trim(" Abcd ") "Abcd" String(5, "A " ) "AAAAA" InStr(2, “ABCDEFGEF”, “EF”) 5(第一次出现的位置)
“ABC” “abc”
练习
说明: 如果返回是字符型,则函数后有“$”字符。当 然一般也可以不写,习惯都写上。例如: Ucase("ABcd") Lcase("ABcd") String(5, "A “) InStr(2, “ABCDEFGEF”, “EF”) Left$("ABCDEFG",3) Right ("ABCDEFG",3) Mid$("ABCDEFG",2,3) len("This is a book!") Trim(" Abcd ")
97 “b”
Val(s)
123
Str(n)
“1234”
2. 转换函数
常用的转换函数见表3-9所示 说明: (1)Asc(“Abcd”) 值为: 65 (只取首字母的Ascii值) chr(98) 值为: “b” (将98转换成相应的字符,其 中98为合法的ASCII字符) (2)Val("abc123") 值为:0, Val("1.2sa10") 值为1.2 str(1234) 值为:” 1234”, 返回1234的字符串形式, 有一前导空格。 注意: Val( )函数只将最前面的数字字符转换为数值。
“nice ” “ nice” “nice”
“str” “st” “ing”
mid$(s,n1,n2) 从s第n1个字符开始, mid$(“string”,1,2) 向后截取n2个字符 right$(s,n) 截取字符串s右边的n 个字符 right$(“string”,3)
函数类 函数名称 型 求字符 len(s) 串长度 空格函 space$(n) 数 String 函数 String(n,s)
3.5 常用内部函数
VB提供了上百种内部函数(库函数),要求掌握这些常用 函数的功能及使用。 调用方法: 函数名(参数列表) 有参函数 函数名 无参函数 说明: (1) 使用库函数要注意参数的个数及其参数的数据类型 1 (2) 要注意函数的定义域(自变量或参数的取值范围) 例如: sqr(x) 要求: x>=0 (3) 要注意函数的值域。 如:exp(23773) 的值就超出实数在计算机中的表示 范围。
函数说明
使用举例
函数调用 返回值
返回字符串s的长度,即 Len(“visual”) 所包含的字符个数 生成由n个空格组成的字 space$(3) 符串 生成n个同一字符组成的 String(3,”a”) 字符串,此字符由s指定
6
“ ” “aaa” 2
字符串 Instr(s1,s2,[n]) 查找字符串s2在s1中的 Instr(“aa”,”baac”) 匹配函 N默认值为1,不 位置,返回值为s2的第 区别大小写, 数 一个字符在s1中的位置; N=0区别大小写 若找不到返回值为0 字符大 Ucase$(s) 小写转 换函数 Lcase$(s) 把字符串s中的小写字母 Ucase$(“aBc”) 转换成大写字母 把字符串s中的大写字母 Lcase$(“ABc”) 转换成小写字母
立即窗口
1、作用:用于在程序的调试期间输出中间结 果、帮助用户在中断模式下测试表达式的 值;用户也可以在立即窗口直接键入VB命 令并按回车键。VB实时解释该命令。 2、组成:标题栏和工作区 3、打开方式: 方法1:执行“视图”菜单中的“立即窗口” 菜单项 方法2:直接按Ctrl+G键
6. 常用内部函数 (1)数值型数据格式化(见表3-12) 注意:对于符号:0与#,当数值的实际位数比格式 控制给定的位数多时,系统将按四舍五入返回给定的位数。 如:Format(3.14159, “###.###”), 其值为 3.142 Format(3.14159,“000.000”), 其值为 003.142
时间
Hour()
hour(“13:15:34”)
13
4、日期和时间函数
4、日期和时间函数
编程:实现如图所示的电子时钟 编程 实现如图所示的电子时钟
与Print方法有关的函数
• 问:若希望在一行输出2再隔4个空格再输出一个结果;或 者希望在第1列输出表达式,第10列输出结果? • 1、Tab(n) 、 • 功能:将光标移到n列输出信息。和Print方法一起实现输 出定位。 • 说明:n为数值表达式,其值是一整数,它是输出位置的 列序。 • 当一个Print方法中有多个Tab(n)函数时,则每个Tab(n)函 数对应一个输出项,各输出项之间用分号或逗号隔开
– Asc和Chr函数
• Asc(“Abcd”) =_____,Chr(65)=______
– Val和Str函数
• Val(“abc123”) =_____,Val(“1.2sa10”) =_____ • Str(2.50)=__2.5___,Str(-2.50)=_____
字符串函数
Len函数
应用题
变量a 变量a定义为字符串变量 求变量a 1、求变量a的长度 将字符串变量a 2、将字符串变量a全部转换为大写字母 取出变量a 3、取出变量a中的某一个字符 取出变量a中的左边3 4、取出变量a中的左边3个 去除变量a 5、去除变量a中空格
练习 • 转换函数
– Fix、Int
• Fix(2.5)与Int(2.5)=_______ • Fix(-2.5)=____,Int(-2.5)=_____
练习
有一个数a=-235.7875,要求编一个程序 分别按以下要求输出 (1)取其整数部分(即-235) (2)取不大于它的最大整数(即-236) (3)按小数四舍五入处理(应得-236) (4)按小数后2位,第3位后的小数舍去(应 得-235.78) (5)取小数后2位,对第3位小数按四舍五入 处理(应得-235.79)
(2)日期和时间型数据格式化(见表3-13) 缺省日期格式为:“mm/dd/yy”, 缺省时间格式:“hh:mm:ss” (3)字符串类型数据格式化(见表3-14)
2. 转换函数
函数 类型 类型 转换 函数 函数名称 函数说明 Asc(s) Chr(n) 使用举例
函数调用 返回值
返回值为字符串s的首字 Asc(“ab”) 符的ASCII值 把n转换为相应的字符, Chr(98) 其中表达式的值是一个 合法的ASCII值 返回值为字符串表达式s Val(123abc) 中所包含的数值,若遇 到字母(指数符号除外) 则中止转换 返回值为n的字符串形式 Str(1234)
• • • •
Print Tab(3); "hello"; Tab(20); "vb" Print Tab(3); "hello", Tab(8); "vb“ Print Tab(3); “hello”;Tab(20); "vb" Print Tab(3); "hello", Tab(20); "vb"
sin(3.14159/180*30)
(2)Rnd函数返回0 ~ 1(包括0和不包括1)之间的双精度随机数
若要产生1-100的随机整数: Int(Rnd *100)+1 提问:怎样产生[N,M]区间的随机数?