
正文
vb.net中的次方 vbnet array
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
VB语句函数大全
(一)类型转换类函数
1. CType(X)
[格式]:
P=CBool(X)
' 将X转换为"布尔"(Boolean)类型
P=CByte(X)
' 将X转换为"字节"(Byte)类型
P=CCur(X)
' 将X转换为"金额"(Currency)类型
P=CDate(X)
' 将X转换为"日期"(Date)类型
P=CDbl(X)
' 将X转换为"双精度"(Double)类型
P=CInt(X)
' 将X转换为"整型"(Integer)类型
P=CLng(X)
' 将X转换为"长整型"(Long)类型
P=CSng(X)
' 将X转换为"单精度"(Single)类型
P=CStr(X)
' 将X转换为"字符串"(String)类型
P=Cvar(X)
' 将X转换为"变体型"(Variant)类型
P=CVErr(X)
' 将X转换为Error值
[ 范例 ]:
(1). CStr(13)+CStr(23)
' 数值转换成字符串后,用"+"号连接, 结果:1323
(2). CInt("12")+12
' 字符串转换成整型后与12相加, 结果:24
(3). P=CInt(True)
' 输出结果为-1
' 布尔值与数值的转换时要注意,布尔值只有True和False,其中True在内存中为-1,False存为0
(4). CBool(-0.001)
' 输出结果为True
' 将数值转换为布尔型时,等于0的数值将得到False,不等于0的数值得到True.
2. Int(X),Fix(X):取X的整数值
[格式]:
P=Int(X) ' 取=X的最大整数值
P=Fix(X) ' 取X的整数部分,直接去掉小数
[范例]:
(1) Int(-54.6)
' 结果为-55,取=-54.6的最大整数
(2) Fix(54.6)
' 结果为54,取整数并直接去掉小数
(二)常用数学函数
[格式]:
1. Abs(N) 取绝对值
例:Abs(-3.5) 结果:3.5
2. Cos(N) 余弦函数
例:Cos(0) 结果:1
3. Exp(N) e为底的指数函数
例:Exp(3) 结果:20.068
4. Log(N) 以e为底的自然对数
例:Log(10) 结果:2.3
5. Rnd[(N) 产生随机数
例:Rnd 结果:0--1之间的数
6. Sin(N) 正弦函数
例:Sin(0) 结果:0
7. Sgn(N) 符号函数
' 说明:取正负号。Y=Sgn(X) 既 X0 则Y=1;X=0 则Y=0;X0 则Y= -1
8. Sqr(N) 平方根
例:Sqr(9) 结果:3
9. Tan(N) 正切函数
例:Tan(0) 结果:0
10.Atn(N) 反切函数
例:Atn(0) 结果:0
[注意]:在三角函数中,以弧度表示。
(一)字符串类函数:
1. ASC(X),Chr(X):转换字符字符码
[格式]:
P=Asc(X) 返回字符串X的第一个字符的字符码
P=Chr(X) 返回字符码等于X的字符
[范例]:
(1)P=Chr(65)
'输出字符A,因为A的ASCII码等于65
(2)P=Asc("A")
'输出65
2. Len(X):计算字符串X的长度
[格式]:
P=Len(X)
[说明]:
空字符串长度为0,空格符也算一个字符,一个中文字虽然占用2 Bytes,但也算一个字符。
[范例]:
(1) 令X="" (空字符串)
Len(X) 输出结果为0
(2) 令X="abcd"
Len(X) 输出结果为4
(3) 令X="VB教程"
Len(X) 输出结果为4
3. Mid(X)函数:读取字符串X中间的字符
[格式]:
P=Mid(X,n)
由X的第n个字符读起,读取后面的所有字符。
P=Mid(X,n,m)
由X的第n个字符读起,读取后面的m个字符。
[范例]:
(1) X="abcdefg"
P=Mid(X,5)
结果为:P="efg"
(2) X="abcdefg"
P=Mid(X,2,4)
结果为P="bcde"
4. Replace: 将字符串中的某些特定字符串替换为其他字符串
[格式]:
P=Replace(X,S,R)
[说明]:将字符串X中的字符串S替换为字符串R,然后返回。
[范例]:
X="VB is very good"
P=Replace(X,good,nice)
输出结果为:P="VB is very nice"
5. StrReverse:反转字符串
[格式]:
P=StrReverse(X)
[说明]:
返回X参数反转后的字符串
[范例]:
(1)X="abc"
P=StrReverse(X)
输出结果:P="cba"
6. Ucase(X),Lcase(X):转换英文字母的大小写
[格式]:
P=Lcase(X)
'将X字符串中的大写字母转换成小写
P=Ucase(X)
'将X字符串中的小写字母转换成大写
[说明]:除了英文字母外,其他字符或中文字都不会受到影响。
[范例]:
(1) 令 X="VB and VC"
则Lcase(X)的结果为"vb and vc",Ucase(X)的结果为"VB AND VC"
7. InStr函数:寻找字符串
[格式]:
P=InStr(X,Y)
从X第一个字符起找出Y出现的位置
P=InStr(n,X,Y)
从X第n个字符起找出Y出现的位置
[说明]:
(1) 若在X中找到Y,则返回值是Y第一个字符出现在X中的位置。
(2) InStr(X,Y)相当于InStr(1,X,Y)。
(3) 若字符串长度,或X为空字符串,或在X中找不到Y,则都返回0。
(4) 若Y为空字符串,则返回0。
(二)日期时间类函数:
1. Year(X),Month(X),Day(X):取出年,月,日
[格式]:
P=Year(X)
取出X"年"部分的数值
P=Month(X)
取出X"月"部分的数值
P=Day(X)
取出X"日"部分的数值
[说明]:Year返回的是公元年,若X里只有时间,没有日期,则日期视为#1899/12/30#
2. Hour,Minute,Second函数:取出时,分,或秒
[格式]:
P=Hour(X)
取出X"时"部分的数值
P=Minute(X)
取出X"分"部分的数值
P=Second(X)
取出X"秒"部分的数值
[说明]:Hour的返回值是0---23之间
[范例]:
X=10:34:23
P=Hour(X)
Q=Minute(X)
R=Second(X)
则输出结果:P=10,Q=34,R=23
3. DateSerial函数:合并年,月,日成为日期
[格式]:DateSerial(Y,M,D)
其中Y是年份,M为月份,D为日期
[说明]:
(1) M值若大于12,则月份从12月起向后推算M-12个月;若小于1,则月份从1月起向后推算1-M个月。
(2) 若日期D大于当月的日数,则日期从当月的日数起,向后推算D-当月日数;若小于1,则日期从1日起向前推算1-D日。
[范例]:
P=DateSerial(2000,02,02)
则结果为P=2000/02/02
4.TimeSerial函数:合并时,分,秒成为时间
[格式]:P=TimeSerial(H,M,S)
其中H为小时数,M为分钟数,S为秒数
[说明]:推算原理同上面的DateSerial
[范例]:
P=TimeSerial(6,32,45)
结果为:P=6:32:45
5.Date,Time,Now函数:读取系统的日期时间
[格式]:
P=Date()
P=Time()
P=Now()
[说明]:这三个函数都无参数
[范例]:
若当前时间为2003年8月29日晚上19点26分45秒,则
P=Now()
结果为:P=2003-08-29 19:26:45
6.MonthName:返回月份名称
[格式]:P=MonthName(X)
[说明]:X参数可传入1---12,则返回值为"一月"、"二月"……,但是在英文Windows环境下,返回的是"January","February"……
[范例]:
P=MonthName(1)
则P="一月"
7.WeekdayName:返回星期名称
[格式]:P=WeekdayName(X)
[说明]:X参数可传入1—7,则返回值为"星期日","星期一"……,但是在英文windows环境下,返回的是"Sunday","Monday"……
[范例]:
P=WeekdayName(1)
结果为:P="星期日"
函数名称 函数功能
Cbool(string) 转换为布尔值
Cbyte(string) 转换为字节类型的值
Ccur(string) 转换为货币类值
Cdate(string) 转换为日前类型的值
Cdbl(string) 转换为双精度值
Cint(string) 转换为整数值
Clng(string) 转换为长整型的值
Csng(string) 转换为单精度的值
Cstr(var) 转换为字符串值
Str(var) 数值转换为字符串
Val(string) 字符串转换为数值
***************************************
Abs(nmb) 返回数子的绝对值
Atn(nmb) 返回一个数的反正切
Cos(nmb) 返回一个角度的余炫值
Exp(nmb) 返回自然指数的次方值
Int(nmb) 返回数字的整形(进位)部份 8.4--9
Fix(nmb) 返回数字的整形(舍去)部份 8.4--8
Formatpercent(表达式) 返回百分比
Hex(nmb) 返回数据的16进制数
Log(nmb) 返回自然对数
Oct(nmb) 返回数字的8进制数
Rnd 返回大于“0”而小于“1”的随机数
Sgn(nmb) 判断一个数字的正负号
Sin(nmb) 返回角度的正铉值
Sqr(nmb) 返回数字的二次方根
Tan(nmb) 返回一个数的正切值
Asc(string) 返回ASCII字符串
Chr(charcode) 根据字符代码返回字符
Instr(string,searchstr) 返回被搜索字符串的第一个字符位置,string是字符串,searchstr是被搜索的字符串
InstrRev(string,searchstr) 同上,只是从右面开始搜索
Lcase(var) 把字符串变为小写
Left(string,nmb) 从string中返回从左面开始的nmb个字符串
Len(string) 返回字符串的长度
Ltrim(string) 截去字符串左边的空格
Filter(inputstrings,value) 返回字符串数组的字集,Inputstrings是字符串组,value是在数组中寻找的字符
Rtrim(string) 截去字符串右边的空格
Trim(string) 截去字符串前后空格
Mid(string,start,len) 在string中返回从start位置开始的len个字符
Replace(string,find,withstr) 在字符串string中,用withstr来替换find字符串
Right(string,nmb) 从string中返回从右面开始的nmb个字符串
Space(nmb) 返回指定空格的字符串
StrComp(string1,string2) 比较两个字符串
Ucase(string) 把字符串变为大写
****************************************
Date() 返回当前系统日期
DateAdd(interval,nmb,date) 用一个基础时间返回指定增加了时间间隔的日期,interval是间隔类型,yyyy-年,m-月,d-日,h-小时,n-分。
DateDiff(interval,nmb1,nmb2) 返回两个时间间隔,interval的意思同上
Datevalue(date) 发挥Date中的日期部份
Day(date) 返回天数
FormatDatetime(date) 返回格式化为日期的表达式
Hour(time) 返回时间的小时数
Minute(time) 返回时间的分钟数
Month(date) 返回日期中的月份
Now() 返回系统的日期和时间
Second(time) 返回时间中的秒数
Time() 返回系统的当前时间
Weekday(date) 返回星期几
WeekdayName(date) 返回星期几的中文名
Year(date) 返回年份
IsArray(var) 判断一个变量是否是数组
IsDate(var) 判断一个变量是否是日期
IsNull(var) 判断一个变量是否为空
IsNumeric 判断表达式是否包含数值
IsObject(var) 判断一个变量是否是对象
TypeName(var) 返回变量的数据类型
************************************
Array(list) 返回数组
CreateObject(class) 创建一个对象
GetObject(pathfilename) 得到文件对象
Inputbox(prompt) 提供一个可供输入数据的对话框
LBound(arrayP) 返回数组的最小索引
Msgbox(string) 输出一个消息框
Split(liststr) 从一个列表字符串中返回一个一维数组
Ubound(array) 返回数组的最大索引
相关问答
Q1: VB编程:求1!+2!+3!+...+N!(N为任意正整数)
Private Function cacl(num As Long) As String
Dim numlen As Long, last As Long, x As Long
Dim i As Long, m As Long, n As Long, nl As Long, s0 As String
Dim result() As Long, starttime As Single, s() As String
numlen = 1
starttime = Timer
ReDim result(1 To numlen)
nl = 9 - Len(CStr(num)) '根据两数相乘最大得数长度,不会超过两数长度总和的原理,
'让数组中每个元素长度与阶乘数长度之和不能超过9,以防止溢出。
If nl 1 Then nl = 1 '最小长度是1位,若真到了这么大的数,恐怕没人会去试了^-^
n = 10 ^ nl '缓存用于分隔大数的被除数,数组中每个元素的长度是 nl,该数就是10的 nl 次方
result(1) = 1
x = 1
Do While x = num
last = 0
For i = 1 To numlen
m = result(i) * x + last '数组中每个元素进行与待乘数相乘后,再加上上次进位数
result(i) = m Mod n '分隔大数
last = m \ n '保存进位数并等待累计进下一个数组元素
Next
If last 0 Then
m = Len(CStr(last)) \ nl + 1 '对超过数组元素上限的进位数要增加数组大小,并按长度nl分隔
ReDim Preserve result(1 To numlen + m)
For i = 1 To m
result(numlen + i) = last Mod n
last = last \ n
Next
numlen = UBound(result)
End If
x = x + 1
Loop
ReDim s(1 To numlen)
s0 = String(nl, "0") '对长度不足nl的数组元素要在前面补0,不然结果就在错特错了
For i = 1 To numlen
s(i) = Format(result(numlen + 1 - i), s0) '格式化补 0 每个数组元素
Next
s(1) = Val(s(1))
If s(1) = 0 Then s(1) = "" '最高位要去掉0,虽对得数没影响,但位数会错。
cacl = Join(s, "")
Debug.Print num "! : 用时 "; Timer - starttime " 秒, 结果 " Len(cacl) " 位"
End Function
Private Sub Command1_Click()
Dim i As Long
Dim n As Long
Dim t As Double
n = InputBox("输入N值")
For i = 1 To Val(n)
t = t + Val(cacl(i))
Next
Print "1!+2!+3!+...+" n "!="; t
End Sub
呵呵 改进速度的 10000!只需10秒
Q2: VB.NET怎么位运算?
注意只能对整型执行按位运算。浮点值必须转换为整型后,才能执行按位运算。按位运算采用二进制(以 2 为基)形式计算两个整数值。它们比较对应位置上的位,然后基于比较的结果赋值。下面的示例演示了 And 运算符。复制Dim x As Integerx = 3 And 5 前面的示例将 x 的值设置为 1。发生这种情况的原因如下:这些值以二进制形式处理:二进制格式的 3 为 011二进制格式的 5 为 101And 运算符比较这些二进制表示方式,一次比较一个二进制位置(位)。如果给定位置的两个位都为 1,则将 1 放在结果中的该位置。如果任何一个位是 0,则将 0 放在结果中的该位置。在前面的示例中,按如下所示计算结果:011(二进制格式的 3)101(二进制格式的 5)001(二进制格式的计算结果)计算结果以十进制形式处理。值 001 是 1 的二进制表示形式,因此 x = 1。除了在任何一个比较位是 1 或两个比较位都是 1 的情况下将 1 赋予结果位以外,按位 Or 运算与此类似。Xor 在比较的位正好只有一个是 1(而不是两者都是 1)时将 1 赋给结果位。Not 采用单个操作数并反转所有位(包括符号位),然后将该值赋予结果。这意味着,对于有符号正数,Not 始终返回负值,而对于负数,Not 始终返回正值或零。AndAlso 和OrElse 运算符不支持按位运算。 追问: 好复杂啊...还是不会,还有整数怎么转换为二进制数? 回答: 为什么一定要用位运算呢,你那个乘法只能通过左移操作符“ ”来进行,而左移一次代表乘以2,要是乘以一个小数,就必须先化成2的n次方,不够再用加减法调整,很麻烦啊,没必要用位运算啊。。。 追问: 因为我要进行大量的运算,但速度要快,所有用位运算...我也不想啊.. 回答: 那就不该用VB 啊,c/c++在执行效率上是没话说的。 追问: 问题就是不会嘛... 回答: 那你上csdn上发帖效果应该不错 追问: CSDN发了,我发在高性能运算,没人... 回答: 耐心一些,或者你应该发到VB.NET论坛那里。。。 追问: 额..只能这样了... 提问者 的感言: 太复杂了..算了 2010-11-08
Q3: 在.net中,2^3是什么意思?
表示2按位异或3
二元 ^ 运算符是为整型和 bool 类型预定义的。对于整型,^ 将计算操作数的按位“异或”,即先把数字有二进制形式表示出来,在通过按位异或来得到结果,如何按位异或我想你应该知道。对于 bool 操作数,^ 将计算操作数的逻辑“异或”;也就是说,当且仅当只有一个操作数为 true 时,结果才为 true
Q4: VB中怎么样用Byte数组模拟各种无符号整数?
byte不够噻
unsigned int你说的是c里的32位无符号整型吧
这个在vb.net里是uinteger类型,有符号的就是integer
long型就是long,无符号long - ulong
类型前面加个u就是无符号类型
Q5: VB编写程序 用来计算m的n次方
新建工程,添加command1控件。vb6.0+xp调试成功。
代码如下:
Dim n As Integer。
Private Sub Command1_Click()。
m = InputBox("请输入内底数m")。
n = InputBox("请输入指容数n")。
扩展资料
VB编写程序的参数选择(有利于方便用户的工作进度)
第一个按钮的Index属性值默认为“0”,第二个的Index属性值自动设为“1”,并且大小与第一个按钮相同,只需修改其 Caption 属性为数字“1”并将其拖至合适位置即可。
此后继续使用“粘贴”的方法建立其他控件组中其余按钮,共20个按钮,每建立一个,就将它拖到合适处,并修改相应的Caption属性值。
vb.net中的次方的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于vbnet array、vb.net中的次方的信息别忘了在本站进行查找喔。







