2.4.1 数学函数
表 2.3 常用数学函数
函 数
|
返回值类型
|
功 能
|
例 子
|
结 果
|
Abs(x)
|
与 x 相同
|
绝对值
|
Abs(4.6)
|
4.6
|
Sqr(x)
|
Double
|
平方根
|
Sqr(9)
|
3
|
Sin(x)
|
Double
|
正弦值
|
Sin(30*3.14/180)
|
0.499…
|
Cos(x)
|
Double
|
余弦值
|
Cos(60*3.14/180)
|
0.500…
|
Tan(x)
|
Double
|
正切值
|
Tan(60*3.14/180)
|
1.729…
|
Atn(x)
|
Double
|
反正切值
|
4*atn(1)
|
3.14159…
|
Exp(x)
|
Double
|
E 的幂值
|
Exp(x)
|
e x
|
Log(x)
|
Double
|
自然对数值
|
Log(x)/Log(10)
|
Log 10 x
|
Int(x)
|
Double
|
不大于 x 的最大整数
|
Int(99.8) Int(-99.8)
|
99 -100
|
Fix(x)
|
Double
|
取 x 的整数部分
|
Fix(99.8) Fix(-99.8)
|
99 -99
|
Sgn(x)
|
Integer
|
取 x 的符号
|
Sgn(5) Sgn(0) Sgn(-5)
|
1 0 -1
|
Rnd(x)
|
single
|
产生 0~1 之间的随机数
|
rnd
|
随机数
|
[ 例 2.1] 给定一个两位数,交换十位数和个位数的位置,把处理后的数显示在窗体上。
编写的窗体单击事件过程代码如下:
Private Sub Form_Click()
Dim x As Integer, a As Integer
Dim b As Integer, c As Integer
x = 36
a = Int(x / 10)
b = x Mod 10
c = b * 10 + a
Print " 处理后的数: "; c
End Sub
[ 例 2.2] 通过随机函数产生两个两位正整数,求这两个数之和并显示出来。
编写的窗体单击事件过程代码如下:
Private Sub Form_Click()
Dim a As Integer, b As Integer, c As Integer
Randomize
a = Int(90 * Rnd + 10)
b = Int(90 * Rnd + 10)
c = a + b
Print " 放生的两个随机数: "; a, b
Print " 和数: "; c
End Sub
2.4.2 字符串函数
表 2.4 字符串函数
函 数
|
返回值类型
|
功 能
|
例 子
|
结 果
|
Len( 字符串 )
|
Integer
|
字符串长度
|
Len(“ABCD”)
|
4
|
Left( 字符串, n)
|
String
|
取左边 n 个字符
|
Left(“ABCD”,3)
|
“ABC”
|
Right( 字符串, n)
|
String
|
取右边 n 个字符
|
Right(“ABCD”,3)
|
“BCD”
|
Mid( 字符串, p[ , n])
|
String
|
从第 p 个开始取 n 个字符
|
MID(“ABCDE”,2,3)
|
“BCD”
|
Instr([f , ] 字符串 1 ,字符串连 [ , k])
|
Integer
|
求串 2 在串 1 中出现的位置
|
Instr(“ABabc”,”ab”)
|
3
|
String(n , 字符 )
|
String
|
生成 n 个字符
|
String(4,”*”)
|
“****”
|
Space(n)
|
String
|
生成 n 个空格
|
Space(5)
|
5 个空格
|
Ltrim( 字符串 )
|
String
|
去掉左边空格
|
Ltrim(“ AB ”)
|
“AB ”
|
Rtrim( 字符串 )
|
String
|
去掉右边空格
|
Rtrim(“ AB ”)
|
“ AB”
|
Trim( 字符串 )
|
String
|
去掉左、右边空格
|
Trim(“ AB ”)
|
“AB”
|
Lcase( 字符串 )
|
String
|
转成小写
|
Lcase(“Abab”)
|
“abab”
|
Ucase( 字符串 )
|
String
|
转成大写
|
Ucase(“Abab”)
|
“ABAB”
|
StrComp( 字符串 1, 字符串 2[ , k])
|
Integer
|
串 1< 串 2 -1
串 1= 串 2 0
串 1> 串 2 1
|
StrComp(“AB”,”ABC”)
|
-1
|
[ 例 2.3] 使用字符串函数示例。先从字符串 a 中找出某个指定字符(如空格),再以此字符为界拆分成两个字符串。
编写的窗体单击事件过程代码如下:
Private Sub Form_Click()
Dim a As String, b As String, c As String, n As Integer
a = "Visual Basic"
n = InStr(a, " ")
b = Left(a, n - 1)
c = Mid(a, n + 1)
Print b
Print c
End Sub
2.4.3 日期 / 时间函数
函 数
|
返回值类型
|
功 能
|
例 子
|
结 果
|
Date
|
Date
|
返回系统日期
|
Date
|
示例 : 11/03/2005
|
Time
|
Date
|
返回系统时间
|
Time
|
示例 :11:38:24
|
Now
|
Date
|
返回系统日期和时间
|
Now
|
示例 : 11/03/2005
11:38:24
|
Day( 日期 )
|
Integer
|
返回日数
|
Day(# 2002/9/24 #)
|
24
|
Month( 日期 )
|
Integer
|
返回月份数
|
Month(# 2002/9/24 #)
|
9
|
Year( 日期 )
|
Integer
|
返回年度数
|
Year(# 2002/9/24 #)
|
2002
|
Weekday( 日期 )
|
Integer
|
返回星期几
|
Weekday(# 2002/9/24 #)
|
3
|
Hour( 时间 )
|
Integer
|
返回小时数
|
Hour(#8:3:28 pm#)
|
20
|
Minute( 时间 )
|
Integer
|
返回分钟数
|
Minute(#8:3:28 pm#)
|
3
|
Second( 时间 )
|
Integer
|
返回秒数
|
Second(#8:3:28 pm#)
|
28
|
2.4.4 类型转换函数
函 数
|
返回值类型
|
功 能
|
例 子
|
结 果
|
Val(x)
|
Double
|
将数字字符串 x 转换为数值
|
2+val(“ 12” )
|
14
|
Str(x)
|
String
|
将数值转换为字符串,字符串首位表示符号
|
Str(5)
|
“ 5”
|
Asc(x)
|
Integer
|
求字符串中首字符的 ASCII 码
|
Asc(“AB”)
|
65
|
Chr(x)
|
String
|
将 x 转换为字符
|
Chr(65)
|
“A”
|
Cint(x)
|
Integer
|
将 x 转换为整形数,小数部分四舍五入
|
Cint(1234.57)
|
1235
|
Clng(x)
|
Long
|
将 x 转换为长整形数,小数部分四舍五入
|
Clong(325.3)
|
325
|
Csng(x)
|
Single
|
将 x 舍入为单精度数
|
Csng(56.5421117)
|
56.54211
|
Cdbl(x)
|
Double
|
将 x 转换为双精度数
|
Cdbl(1234.5678)
|
1234.5678
|
Ccut(x)
|
Currency
|
将 x 转换为货币型数
|
Ccur(876.43216)
|
876.4322
|
Cvar(x)
|
Variant
|
将 x 转换为变体型数
|
Cvar(99&” 00” )
|
“ 9900”
|
Hex(x)
|
String
|
将十进制数 x 转换为十六进制数
|
Hex(31)
|
&h 1f
|
Oct(x)
|
String
|
将十进制数 x 转换为八进制数
|
Oct(20)
|
&o24
|
|