VB中StrConv函数用法
VBA中处理字符串常用函数

在VBA中处理字符串1 VBA中的字符串VBA不仅可以处理数字,也可以处理文本(字符串)。
VBA提供了两类字符串:一类为固定长度的字符串,声明时包含指字的字符数。
例如,下面的语句Dim strFixedLong As String*100声明字符串变量后,无论赋予该变量多少个字符,总是只包含100个字符,但字符串最长不超过65526个字符,且需要使用Trim函数去掉字符串中多余的空格。
定长字符串只有在必要时才使用。
另一类为动态字符串。
例如,声明字符串变量Dim strDynamic As String后,可以给该变量任意赋值,最多可包含20亿个字符。
2 VBA中处理字符串的函数2.1 比较字符串通常,在VBA中进行字符串比较时,会用到比较运算符(如=、>等)、Like运算符和StrComp 函数。
此外,在模块的开头用Option Compare语句指定比较方式。
2.1.1 比较运算符可以采用简单的逻辑运算符进行两个字符串的比较,即<(小于)、<=(小于或等于)、>(大于)、>=(大于或等于)、=(等于)、<>(不等于)。
此外,还可以使用Like运算符进行比较。
2.1.2 StrComp函数StrComp函数返回字符串比较的结果。
其语法为:StrComp(string1,string2[,compare])其中,参数string1和strng2为必需的参数,可以是任何有效的字符串表达式。
参数Compare为可选参数,如果该参数为Null,将发生错误。
如果参数Compare设置为常数vbUseCompareOption或-1或忽略该参数,将使用OptionCompare语句设置进行比较;如果忽略该参数且没有设置Option Compare语句,则按二进制进行比较;如果参数Compare设置为常数vbBinaryCompare或0,则用二进制进行比较;如果参数Compare设置为常数vbTextCompare或1,则按文本进行比较;如果参数Compare设置为常数vbDatabaseCompare或2,此时仅适用于Microsoft Access,进行基于数据库信息的比较。
VB常用函数介绍

VB常用函数介绍一、常用内部函数在VB内部提供了大量函数。
在这些函数中,有些是通用的。
有些则与某种操作有关的。
大体分成五类,分别是:转换函数、数学函数、日期函数、时间函数和随机函数。
(1)转换函数函数名功能Int(x) 返回不大于自变量的最大整数。
Fix(x) 去掉一个浮点数的小数部分,保留其整数部分。
Hex(x) 把一个十进制数转换成为十六进制数。
Oct(x) 把一个十进制数转换成为八进制数。
Asc(x) 返回字符串中第一个字符的ASCII码。
Chr(x) 把值转换为相应的ASCII字符。
Str(x) 把值转换为一个字符串Cint(x) 把小数部分四舍五入,转换为整数。
Ccur(x) 把值转换为货币类型,小数部分最多保留4位。
CDbl(x) 把值转换为双精度数值。
CLng(x) 把值小数部分四舍五入转换为长整型数值。
CSng(x) 把值转换为单精度数值。
CVar(x) 把值转换为变体类型值。
(2)数学函数函数名功能Sin(x) 返回正弦值。
Cos(x) 返回余弦值。
Tan(x) 返回正切值。
Atn(x) 返回反正切值。
Abs(x) 返回绝对值。
Sgn(x) 返回自变量的符号。
即:值为负数时,函数返回-1值为0时,函数返回0值为正数时,函数返回1Sqr(x) 返回自变量x的平方根,自变量必须大于或等于0。
Exp(x) 返回以e为底数,以x为指数的值,即求e的x 次方。
(3)日期函数函数名功能Day(Now) 返回当前的日期。
WeekDay(Now) 返回当前的星期。
Month(Now) 返回当前的月份。
Year(Now) 返回当前的年份。
(4)时间函数函数名功能Hour(Now) 返回小时(0~23)。
Minute(Now) 返回分钟(0~59)。
Second(Now) 返回秒(0~59)。
(5)随机函数Rnd(x) 产生一个0~1之间的单精度随机数Rnd函数可以产生随机数,当一个应用程序不断地重复使用随机数时,同一序列的随机数会反复出现,用Randomize语句可以消除这种情况。
VB常用字符串函数(最常用的7个)

VB常用字符串函数(最常用的7个)最近为了帮一个网友做一个小工具,查看MOTO的串号代表的信息.为了简单方便,就打算用VB做,可是自从我大二时学VB到现在已经快三年了,都忘记的差不多了,特别是系统函数,刚刚找到下面的资料,就收藏起来了.VB常用字符串函数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”)' 输出652. 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) 输出结果为43. 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字符串中的小写字母转换成大写[说明]:除了英文字母外,其他字符或中文字都不会受到影响。
VB.Net常用数学函数整理

常用数学函数整理常用数学函数整理System.Math 类中定义了用于数学计算的函数。
Math 类包括三角函数、对数函数和其他常用数学函数。
下列函数是在System 名称空间的 Math 类中定义的函数。
注意:要使用这些函数,请通过在源代码顶部添加以下代码将System.Math 名称空间导入到项目中:Imports System.MathAbsAbs 函数返回指定数值的绝对值。
Abs 示例:本示例使用 Math 类的 Abs 方法来计算一个数值的绝对值。
' Code will not compile unless it is put in a Sub or in a Function.Dim MyNumber As DoubleMyNumber = Abs(50.3) ' Returns 50.3.MyNumber = Abs(-50.3) ' Returns 50.3.AtanAtan 函数返回包含角度的 Double 值。
该角度的正切值是指定的数值。
返回值为正表示角度在X 轴的逆时针方向上。
返回值为负表示顺时针角度。
将该返回值乘以 180 再除以 pi (p) 就可以从弧度转换为度。
Atan 示例:本示例使用 Math 类的 Atan 方法来计算 Pi 值。
' Code is not compiled unless it is put in a Sub or in a Function.Dim pi As Doublepi = 4 * Atan(1) ' Calculate the value of pi.CosCos 函数以弧度表示的角度作为参数,然后返回一个Double 值,表示指定角度的余弦值。
Cos 示例:本示例使用 Math 类的 Cos 方法返回角度的余弦值。
' Code is not compiled unless it is put in a Sub or in a Function.Dim MyAngle, MySecant As DoubleMyAngle = 1.3 ' Define angle in radians.MySecant = 1 / Cos(MyAngle) ' Calculate secant.ExpExp 函数返回一个 Double 值,包含 e(自然对数的底)的指定乘幂。
VB常用函数用法详解

V B函数数学函数Abs函数语法:Abs(number)绝对值返回一数值的绝对值。
参数number可以是任何数值表达式。
如果number的值为Null,则返回Null;如果其参数是没有初始值的变数,则返回0。
注解:一个数值的绝对值就是将正负号去掉以后的值。
例如Abs(-1)和A bs(1)的返回值都是1。
Atn函数语法:Atn(number)反正切该函数返回参数的「反正切」(arctangent)值。
参数number可以是任何有效的数值表达式。
注解:Atn函数的参数(number)是直角三角形中构成直角两边的比值(正切函数值),其返回值则为相对应之底角的度数,以「弧度」为单位。
正切函数值(number)的算法为「对边除以邻边」。
返回值的范围落在pi/2到pi/2的「弧度」之间。
「角度」与「弧度」的转换方法为:将「角度」乘以pi/180即为「弧度」。
反过来将「弧度」乘以180/pi便得「角度」。
Cos函数余弦函数语法:Cos(number)该函数返回一角度的cosine(余弦函数)值。
参数number可以是任何有效的数值表达式,其值代表一个角度,以「弧度」为单位。
注解:Cos函数的参数表示角度,返回值为该角度两邻边的比值。
其比值的定义为「连接另一锐角的邻边除以连接直角的邻边」。
返回值的范围在-1到1之间。
Exp函数语法:Exp(number)自然对数之底数该函数返回e(自然对数之底数)的某次方。
参数number可以是任何的数值表达式。
注解:如果number的值超过e的值大约是2.718282。
Log函数自然对数值语法:返回参数的自然对数值。
Log(number)参数number可以是任何的数值表达式,条件是参数值必须大于0。
注解:自然对数是以e为底数的对数。
常数e的值大约是2.718282。
VB函数Rnd函数随机数语法:Rnd[(number)]返回一个随机数。
参数number可以是任何的数值表达式。
VB基础(VB字符串操作方法)

1.⽅法: SubStr() 中⽂化取⼦字串,相对Mid() Strlen() 中⽂化字串长度,相对Len() StrLeft() 中⽂化取左字串,相对Left() StrRight() 中⽂化取右字串,相对Right() isChinese() 检查某个字是否中⽂字 2.UniCode转成ByteAry Dim byteAry() As Byte Dim str5 As String Dim i As Long str5 = "这abc" byteAry = str5 For i = LBound(byteAry) To UBound(byteAry) Debug.Print byteAry(i) '得 25 144 97 0 98 0 99 0 Next i Debug.Print Len(str5), LenB(str5) '得4 8 所以了,可看出UniCode 的特性,程式应改⼀下,使⽤Strconv()来转换 Dim byteAry() As Byte Dim str5 As String Dim i As Long str5 = "这abc" byteAry = StrConv(str5, vbFromUnicode) For i = LBound(byteAry) To UBound(byteAry) Debug.Print byteAry(i) '得 25 144 97 98 99 Next i Debug.Print LenB(StrConv(str5, vbFromUnicode)) '得5 3.ByteAry转回UniCode 使⽤Strconv()转换 Dim byteAry(10) as Byte Dim Str5 as String byteAry(0) = 25 byteAry(1) = 144 byteAry(2) = 97 byteAry(3) = 98 byteAry(4) = 99 Str5 = StrConv(byteAry, vbUniCode) 4.0、""(空字串)、Null、Empty、与 Nothing 的区别 Dim A Dim B As String Dim C As Integer Dim D As Object A 等于 Empty,因为尚未初始化的「不定型变量」都等于 Empty。
StrConv 函数(vba)

StrConv 函数(vba)
[日期:2009-01-12] 来源:选项是将大写转换成小写或将小写转换成大写。此外,该函数还有一些 DBCS 特定的选项。例如,通过指定该函数第二个参数中的 vbWide,可将半角字符转换成全角字符。也可用此函数将一种字符类型转换成另一种字符类型,如日语中的平假名转换成片假名。如果与系统的 LocaleID 不同,StrConv 允许您为该字符串指定一个 LocaleID。
也可使用 StrConv 函数将 Unicode 字符转换成 ANSI/DBCS 字符或将 ANSI/DBCS 字符转换成 Unicode 字符。通常,Visual Basic 中的字符串由 Unicode 字符组成。当需要处理 ANSI/DBCS 字符串时(例如,在将字符串写入文件之前,计算字符串的字节数),可使用 StrConv 函数的这一功能。
vb常用函数与语句

一.函数1.Abs函数语法Abs(number)必要的number 参数是任何有效的数值表达式,如果number 包含Null,则返回Null,如果number 是未初始化的变量,则返回0。
说明一个数的绝对值是将正负号去掉以后的值。
例如,ABS(-1) 和ABS(1) 都返回1。
返回参数的绝对值,其类型和参数相同。
2.Array函数返回一个包含数组的Variant。
语法Array(arglist)所需的arglist 参数是一个用逗号隔开的值表,这些值用于给Variant 所包含的数组的各元素赋值。
如果不提供参数,则创建一个长度为0的数组。
说明用来表示数组元素的符号由变量名、圆括号以及括号中的所需元素的索引号组成。
在下面的示例中,第一条语句创建一个Variant 的变量A。
第二条语句将一个数组赋给变量A。
最后一条语句将该数组的第二个元素的值赋给另一个变量。
Dim A As VariantA = Array(10,20,30)B = A(2)使用Array 函数创建的数组的下界受Option Base 语句指定的下界的决定, 除非Array 是由类型库(例如VBA.Array )名称限定。
如果是由类型库名称限定,则Array 不受Option Base 的影响。
注意没有作为数组声明的Variant 也可以表示数组。
除了长度固定的字符串以及用户定义类型之外,Variant 变量可以表示任何类型的数组。
尽管一个包含数组的V ariant 和一个元素为Variant 类型的数组在概念上有所不同,但对数组元素的访问方式是相同的。
3.Asc函数返回一个Integer,代表字符串中首字母的字符代码。
语法Asc(string)必要的string 参数可以是任何有效的字符串表达式。
如果string 中没有包含任何字符,则会产生运行时错误。
说明在非DBCS 系统下,返回值范围为0 –255 。
在DBCS 系统下,则为-32768 –32767。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
VB中StrConv(Text1.Text, vbFromUnicode)是什么意思啊?请高手指点,谢谢!
2012-07-14 13:42小恨有疆|分类:VB |浏览6443次
分享到:
举报| 2012-07-14 13:50提问者采纳
返回按指定类型转换的Variant (String)。
语法
StrConv(string, conversion, LCID)
StrConv 函数的语法有下面的命名参数:
部分说明
string 必要参数。
要转换的字符串表达式。
conversion 必要参数。
Integer。
其值的和决定转换的类型。
LCID 可选的。
如果与系统LocaleID不同,则为LocaleID(系统LocaleID 为缺省值。
)
设置值
conversion 参数的设置值为:
常数值说明
vbUpperCase 1 将字符串文字转成大写。
vbLowerCase 2 将字符串文字转成小写。
vbProperCase 3 将字符串中每个字的开头字母转成大写。
vbWide* 4* 将字符串中单字节字符转成双字节字符。
vbNarrow* 8* 将字符串中双字节字符转成单字节字符。
vbKatakana** 16** 将字符串中平假名字符转成片假名字符。
vbHiragana** 32** 将字符串中片假名字符转成平假名字符。
vbUnicode 64 根据系统的缺省码页将字符串转成Unicode。
vbFromUnicode 128 将字符串由Unicode 转成系统的缺省码页。
*应用到远东国别。
**仅应用到日本。
注意这些常数是由VBA 指定的。
可以在程序中使用它们来替换真正的值。
其中大部分是可以组合的,例如vbUpperCase + vbWide,互斥的常数不能组合,例如vbUnicode + vbFromUnicode。
当在不适用的国别使用常数vbWide、vb Narrow、vbKatakana,和vbHiragana 时,就会导致运行时错误。
下面是一些一般情况下的有效分界符:Null (Chr$(0)),水平制表符(Chr$(9)),换行(Chr$(10)),垂直制表符(Chr$(11)),换页(Chr$(12)) ,回车(Chr$(13)),空白(SBCS) (Chr$(32))。
在DBCS中,空白的实际值会随国家/地区而不同。
说明
在把ANSI 格式的Byte 数组转换为字符串时,您应该使用StrConv 函数。
当
您转换Unicode 格式的这种数组时,使用赋值语句。
常数值说明
vbUpperCase 1 将字符串文字转成大写。
s = StrConv("AbCdef", 1) 's = "ABCDEF"
vbLowerCase 2 将字符串文字转成小写。
s = StrConv("AbCdef", 2) 's = "abcdef"
vbProperCase 3 将字符串中每个字的开头字母转成大写。
s = StrConv("ni hao", 3) 's = "Ni Hao"
每个字的开头= 前面有空格,与是不是单词无关
s = StrConv("nihao", 3) 's = "Nihao"
vbWide* 4* 将字符串中单字节字符转成双字节字符。
s = StrConv("Ab123你好", 4) 's = "Ab123你好"
(瘦子变胖子,对中文无效)
vbNarrow* 8* 将字符串中双字节字符转成单字节字符。
s = StrConv("Ab123你好", 8) 's = "Ab123你好"
(胖子变减肥,对中文无效)
vbKatakana** 16** 将字符串中平假名字符转成片假名字符。
小鬼子用的
vbHiragana** 32** 将字符串中片假名字符转成平假名字符。
小鬼子用的
vbUnicode 64 根据系统的缺省码页将字符串转成Unicode。
对概念不太明白,暂时这样理解:
Unicode =在内存里的表现方式(2进制?
而系统的缺省码页=我们所看到的
s = StrConv("你好", 64) 's = "`O}Y"
vbFromUnicode 128 将字符串由Unicode 转成系统的缺省码页。
应用案例:处理二进制数组与字符串比较时用
s = StrConv("`O}Y", 128) 's = "你好"
对于64、128 的理解不一定正确,但在处理程序间的数据交换时是很有用的,比如用open 语句打开文本文件。
说的比较笼统,只有在接触后才容易体会。
备注:“*”应用到远东国别,“**”仅应用到日本。
注意:
这些常数是由VBA 指定的。
可以在程序中使用它们来替换真正的值。
其中大部分是可以组合的,例如vbUpperCase + vbWide,互斥的常数不能组合,例如vbUnicode + vbFromUnicode。
当在不适用的国别使用常数vbWide、vbNarrow、vbKatakana,和vbHir
agana 时,就会导致运行时错误。
下面是一些一般情况下的有效分界符:
Null (Chr$(0))
水平制表符(Chr$(9))
换行(Chr$(10))
垂直制表符(Chr$(11))
换页(Chr$(12))
回车(Chr$(13))
空白(SBCS) (Chr$(32))。
在DBCS中,空白的实际值会随国家/地区而
不同。
说明:
在把ANSI 格式的Byte 数组转换为字符串时,您应该使用StrConv 函数。
当您转换Unicode 格式的这种数组时,使用赋值语句。
StrConv 函数示例:
本示例使用StrConv 函数来将Unicode 字符串转换成ANSI 字符串。
Dim i As Long
Dim x() As Byte
x = StrConv("ABCDEFG", vbFromUnicode) ' 转换字符串。
For i = 0 To UBound(x)
Debug.Print x(i)
Next
提问者评价
回答的好专业啊!。