VB基础教程:第三章第三节VB的公共函数

2026-03-23
3.3 VB的公共函数

1. 数学函数

  VB中常用的数学函数

函数名
功能
示例
结果

Sqr(x)
求平方根
Sqr(9)
3

Log(x)
求自然对数,x>0
Log(10)
2.3

Exp(x)
求以e为底的幂值,即求ex
Exp(3)
20.086

Abs(x)
求x的绝对值
Abs(-2.5)
2.5

Hex[$](x)
求x的十六进制数,返回的是字符型值
Hex[$](28)
"1C"

Oct[$](x)
求x的八进制数,返回的是字符型值
Oct[$](10)
"12"

Sgn(x)
求x的符号, 当x>0, 返回1 ;x=0, 返回0; x<0, 返回-1
Sgn(15)
1

Rnd(x)
产生一个在(0,1)区间均匀分布的随机数,每次的值都不同;若x=0,则给出的是上一次本函数产生的随机数
Rnd(x)
0-1之间的数

Sin(x)
求x的正弦值,x的单位是弧度
Sin(0)
0

Cos(x)
求x的余弦值,x的单位是弧度
Cos(1)
0.54

Tan(x)
求x的正切值,x的单位是弧度
Tan(1)
1.56

Atn(x)
求x的反正切值,x的单位是弧度,函数返回的是弧度值
Atn(1)
0.79

2. 字符函数

 (1)字符串编码

  在Windows采用的DBCS(Double Byte Character Set)编码方案中,一个汉字在计算机内存中占2个字节,一个西文字符(ASCII码)占1个字节,但在VB中采用的是Unicode(ISO字符标准)来存储字符的,所有字符都占2个字节。为方便使用,可以用StrConv函数来对Unicode 与DBCS进行转换,可以用函数Len()函数求字符串的字符数,用 LenB()函数求字符串的字节数。

 (2)常用的字符串函数

函数名
功能
示例
结果

Len(x)
求x字符串的字符长度(个数)
Len("ab技术")
4

LenB(x)
求x字符串的字节个数
LenB("ab技术")
8

Left(x,n)
从x字符串左边取n个字符
Left("ABsYt",2)
"AB"

Right(x,n)
从x字符串右边取n个字符
Right("ABsYt",2)
"Yt"

Mid(x,n1,n2)
从x字符串左边第n1个位置开始向右取n2个字符
Mid("ABsYt",2,3)
"BsY"

Ucase(x)
将x字符串中所有小写字母改为大写
Ucase("ABsYug")
ABSYUG

Lcase(x)
将x字符串中所有大写字母改为小写
Ucase("ABsYug")
absyug

Ltrim(x)
去掉x左边的空格
Lrim(" ABC ")
"ABC "

Rtrim(x)
去掉x右边的空格
Trim(" ABC ")
" ABC"

Trim(x)
去掉x两边的空格
Trim(" ABC ")
"ABC"

Instr(x,"字符", M)
在x中查找给定的字符,返回该字符在x中的位置,M=1不区分大小写,省略则区分
Instr("WBAC","B")
2

String(n,"字符")
得到由n个首字符组成的一个字符串
String(3,"abcd")
"aaa"

Space (n)
得到n个空格
Space (3)
"□□□"

Replace(C,C1,C2,N1,N2)
在C字符串中从N1开始将C2替代N2次C1,如果没有N1表示从1开始
Replace("ABCASAA","A","12",2,2)
"ABC12S12A"

StrReverse (C)
将字符串反序
StrReverse ("abcd")
"dcba"

3. 日期与时间函数

  常用的日期与时间函数

函数名
含义
示例
结果

Date ()
返回系统日期
Date ()
02-3-19

Time()
返回系统时间
Time()
3:30 :00 PM

Now
返回系统时间和日期
Now
02-3-19 3:30 :00

Month(C)
返回月份代号(1-12)
Month("02,03,19")
3

Year(C)
返回年代号(1752-2078)
Year("02-03-19")
2002

Day(C)
返回日期代号(1-31)
Day("02,03,19")
19

MonthName(N)
返回月份名
MonthName(1)
一月

WeekDay()
返回星期代号(1-7),星期日为1
WeekDay("02,03,17")
1

WeekDayName(N)
根据N返回星期名称, 1为星期日
WeekDayName(4)
星期三

  增减日期函数: DateAdd(要增减日期形式,增减量,要增减的日期变量)

    例:计算期末考试日期:DateAdd("ww",15,#2002/3/19#)

  求日期之差函数: DateDiff(要间隔日期形式,日期一,日期二)

    例:计算距毕业天数: DateDiff("d", Now, #2005/6/30#)

  日期形式

日期形式
yyyy
q
m
y
d
w
ww
h
n
s

意义



一年的天数

一周的天数
星期



4. 转换函数

函数名
功能
示例
结果

Str (x)
将数值数据x转换成字符串
Str (45.2)
"45.2"

Val(x)
将字符串x中的数字转换成数值
Val("23ab")
23

Chr(x)
返回以x为ASCII码的字符
Chr(65)
"A"

Asc(x)
给出字符x的ASCII码值,十进制数
Asc("a")
97

Cint(x)
将数值型数据x的小数部分四舍五入取整
Cint(3.6)
4

Int(x)
取小于等于x的整数
Int(-3.5)

Int(3.5)
-4

3

Fix(x)
将数值型数据x的小数部分舍去
Fix(-3.5)
- 3

CBool(x)
将任何有效的数字字符串或数值转换成逻辑型
CBool(2) CBool("0")
True

False

CByte(x)
将0-255之间的数值转换成字节型
CByte(6)
6

CDate(x)
将有效的日期字符串转换成日期
CDate(#1990,2,23#)
1990-2-23

CCur(x)
将数值数据x转换成货币型
CCur(25.6)
25.6

Round(x,N)
在保留N位小数的情况下四舍五入取整
Round(2.86,1)
2.9

CStr(x)
将x转换成字符串型
CStr(12)
"12"

CVar(x)
将数值型数据x转换成变体型
CVar("23")+"A"
"23A"

CSng(x)
将数值数据x转换成单精度型
CSng(23.5125468)
23.51255

CDbl(x)
将数值数据x转换成双精度型
CDbl(23.5125468)
23.5125468