处理字符串和日期时间_第1页
处理字符串和日期时间_第2页
处理字符串和日期时间_第3页
处理字符串和日期时间_第4页
处理字符串和日期时间_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、大学计算机基础教程TaiYuan University of Technology第第9 9章章 处理字符串和日期时间处理字符串和日期时间 Visual Basic 程序设计教程程序设计教程Visual Basic程序设计教程2本章主要介绍:本章主要介绍:字符类型和字符数组字符类型和字符数组操作字符串操作字符串查找和替换字符串查找和替换字符串处理日期和时间处理日期和时间使用使用VBVB的日历控件的日历控件MonthViewMonthViewVisual Basic程序设计教程3 在大量的应用系统中,文本是表达和交互数在大量的应用系统中,文本是表达和交互数 据的基本类型,而文本的计算机内部表示就

2、据的基本类型,而文本的计算机内部表示就 是字符数据类型是字符数据类型 学会运用学会运用VBVB提供的内部函数,包括比较字符提供的内部函数,包括比较字符 串和搜索字符串,以及在字符串和其他数据串和搜索字符串,以及在字符串和其他数据 类型之间的转换等类型之间的转换等Visual Basic程序设计教程4往往应用程序中需要有日期和时间的相关信息,往往应用程序中需要有日期和时间的相关信息,这就涉及到程序如何表达以及如何使用这就涉及到程序如何表达以及如何使用 合适的格式表达程序中对日期时间的处理要合适的格式表达程序中对日期时间的处理要 求求 Visual Basic程序设计教程5 【例【例9-19-1】

3、一个简单的一个简单的示例程序,把给出的字符示例程序,把给出的字符进行加密,然后再解密,进行加密,然后再解密,程序界面如图所示程序界面如图所示: : Visual Basic程序设计教程6 Dim Str1 As String, Str2 As String Dim Str1 As String, Str2 As String Option Compare Text Option Compare Text Private Sub CmdEncrypt_Click() Private Sub CmdEncrypt_Click() Dim N As Byte, Count As Integer Di

4、m N As Byte, Count As Integer Text2.Text = Text2.Text = N = Len(Text1.Text) N = Len(Text1.Text) For Count = 1 To N For Count = 1 To N Str1 = Mid(Text1.Text, Count, 1) Str1 = Mid(Text1.Text, Count, 1) If (Count Mod 2) = 0 Then If (Count Mod 2) = 0 Then Text2.Text = Text2.Text & ChrW(AscW(Str1) +

5、2) Text2.Text = Text2.Text & ChrW(AscW(Str1) + 2) Else Else Text2.Text = Text2.Text & ChrW(AscW(Str1) + 1) Text2.Text = Text2.Text & ChrW(AscW(Str1) + 1) End If End If Next Next End Sub End SubPrivate Sub Form_Load()Private Sub Form_Load() Label1.Caption = Label1.Caption = 请输入:请输入: Label

6、2.Caption = Label2.Caption = 加密后输出:加密后输出: Label3.Caption = Label3.Caption = 解密后输出解密后输出 Text1.Text = Text1.Text = Text2.Text = Text2.Text = Text3.Text = Text3.Text = End SubEnd SubVisual Basic程序设计教程7Private Sub CmdUncoil_Click()Private Sub CmdUncoil_Click() Dim N As Byte, Count As Integer Dim N As By

7、te, Count As Integer Text3.Text = Text3.Text = N = Len(Text2.Text) N = Len(Text2.Text) For Count = 1 To N For Count = 1 To N Str1 = Mid(Text2.Text, Count, 1) Str1 = Mid(Text2.Text, Count, 1) If Count Mod 2 = 0 Then If Count Mod 2 = 0 Then Text3.Text = Text3.Text & ChrW(AscW(Str1) - 2) Text3.Text

8、 = Text3.Text & ChrW(AscW(Str1) - 2) Else Else Text3.Text = Text3.Text & ChrW(AscW(Str1) - 1) Text3.Text = Text3.Text & ChrW(AscW(Str1) - 1) End If End If Next Next End SubEnd SubVisual Basic程序设计教程8本节在小结前述章节的有关字符数据类型的基础本节在小结前述章节的有关字符数据类型的基础上,进一步介绍有关字符运算、字符数组和实现。上,进一步介绍有关字符运算、字符数组和实现。各种字符

9、操作和字符转换、类型转换的各种字符操作和字符转换、类型转换的VBVB函数。函数。 Visual Basic程序设计教程9字符和字符串字符和字符串1 1字符数据类型字符数据类型VBVB的字符类型数据支持两种格式,一种是定长,另一种的字符类型数据支持两种格式,一种是定长,另一种是不定长。如:是不定长。如:Dim Str1 As StringDim Str1 As StringDim Str2 As String Dim Str2 As String * * 长度数值长度数值在在VBVB中,变长字符串最多可包含大约中,变长字符串最多可包含大约2020亿亿(231)(231)个字符,个字符,而定长字符

10、串可包含而定长字符串可包含1 1到大约到大约 64K(216) 64K(216)个字符。个字符。Visual Basic程序设计教程102 2字符连接运算字符连接运算VBVB使用符号使用符号“&” &” 和和“+”+”连接字符串形成更大的连接字符串形成更大的字符串。字符串。(1 1)如果连接运算符的两边都是字符型数据,这两个符号都可以使)如果连接运算符的两边都是字符型数据,这两个符号都可以使用。用。(2 2)如果把不同类型的数据连接为字符串,使用连接符)如果把不同类型的数据连接为字符串,使用连接符“&”&”。建。建议使用议使用“&”&”连接符,可

11、以避免出现类型不匹配的错误。例:连接符,可以避免出现类型不匹配的错误。例:Str1 = “Hell”+ “ World”Str1 = “Hell”+ “ World” Str1 Str1中的字符为中的字符为 “Hello World”Hello World”Str1 =”Hello” + 2Str1 =”Hello” + 2 运行时产生,类型不匹配错误,应该使用运行时产生,类型不匹配错误,应该使用& & 代替代替Visual Basic程序设计教程11 比较字符比较字符1 1使用比较运算符使用比较运算符 理解一个字符理解一个字符“大于大于”、“小于小于”或者或者“等等 于于”的

12、含义,是考虑字符在字符表中位置后决的含义,是考虑字符在字符表中位置后决 定的。它们按照定的。它们按照ASCIIASCII码对字符进行排序,然后码对字符进行排序,然后 比较它们的代码值的大小决定比较结果。比较它们的代码值的大小决定比较结果。 Visual Basic程序设计教程12Dim Str1 As String, Str2 As StringDim Str1 As String, Str2 As String Str1 = A: Str2 = B Str1 = A: Str2 = B Print Str1 = Str2 Print Str1 = Str2 比较结果为比较结果为FalseFa

13、lse,因为字符,因为字符 “A”A”和和“B”B”不相等不相等 Print Str1 = Str2 Print Str1 Str2 Print Str1 Str2 比较结果为比较结果为TrueTrue,因为,因为 “abc”“VB6”abc”“VB6”成立成立 Print Str1 Str2 Print Str1 Str2 比较结果为比较结果为FalseFalse,因为,因为 “abc”“VB6”abc”“VB6”不成立不成立 Visual Basic程序设计教程132 2StrCompStrComp函数函数 函数函数StrCompStrComp用来比较两个字符串,并返回比较用来比较两个字符

14、串,并返回比较结果。使用格式为:结果。使用格式为:StrComp(String1, String2, StrComp(String1, String2, CompareType)CompareType)比较结果的返回值如下比较结果的返回值如下 :条件条件StrComp StrComp 返回值返回值string1 string1 小于小于 string2string2-1-1string1 string1 等于等于 string2string20 0string1 string1 大于大于 string2string21 1string1 string1 或或 string 2string 2为

15、为 NullNullNullNullVisual Basic程序设计教程14CompareTypeCompareType参数意义如下表所示:参数意义如下表所示: 常数常数值值描述描述vbUseCompareOption-1使用使用Option Compare语句设置执行一个比语句设置执行一个比较较vbBinaryCompare0执行一个二进制比较。执行一个二进制比较。vbTextCompare1执行一个按照原文的比较。执行一个按照原文的比较。vbDatabaseCompare2仅适用于仅适用于Microsoft Access,执行一个基,执行一个基于数据库信息的比较。于数据库信息的比较。Vis

16、ual Basic程序设计教程15函数和函数和Str函数函数1 1StringString函数函数使用格式:使用格式:String(Number, Character)String(Number, Character)函数执行后按创建长度返回重复字符的字符串,函数执行后按创建长度返回重复字符的字符串,其中,其中,NumberNumber给出所创建的字符串长度。参数给出所创建的字符串长度。参数CharacterCharacter是一个字符(或是一个字符(或AsciiAscii码)或字符串表码)或字符串表达式,但只使用它的第一个字符创建新的字符串,达式,但只使用它的第一个字符创建新的字符串,如果如

17、果CharacterCharacter包含了包含了NullNull就返回就返回NullNull。 Visual Basic程序设计教程16 例:例:Dim str1 as string, str2 as Dim str1 as string, str2 as string ,str3 string ,str3 Str1 = String(5, “ Str1 = String(5, “* *”) ”) 返回返回 * * * * * * 。 Str2 = String(5, 42) Str2 = String(5, 42) ASCII ASCII 码码4242的字符为的字符为* *, ,返回返回

18、* * * * * * 。 Str3 = String(10, “ABC” + Null) Str3 = String(10, “ABC” + Null) 返返 回回 NullNull。Visual Basic程序设计教程172 2StrStr函数函数函数函数StrStr把一个数值转换为把一个数值转换为Variant (String)Variant (String)类类型。它的使用格式为:型。它的使用格式为:Str(Number)Str(Number)例:例: Str1 = Str$(123.5)Str1 = Str$(123.5) Str2 = Str(-123.5) Str2 = Str(

19、-123.5) Print Str1,Str2 Print Str1,Str2 输出输出 123.5123.5,-123.5 -123.5 注意字符串前有一个空格注意字符串前有一个空格和符号位和符号位Visual Basic程序设计教程18 字符数组字符数组 字符数组就是数组中的元素都是字符串的数组,字符数组就是数组中的元素都是字符串的数组,使用使用StringString定义字符数组。有关字符串数组操作定义字符数组。有关字符串数组操作的三个函数如下:的三个函数如下:1 1JoinJoin函数函数JoinJoin函数连接某个数组中的多个子字符串而创建函数连接某个数组中的多个子字符串而创建一个新

20、的字符串。函数格式为:一个新的字符串。函数格式为: Join(List, Delimiter) Join(List, Delimiter) Visual Basic程序设计教程19 其中参数其中参数ListList指出被连接的字符数组指出被连接的字符数组DelimiterDelimiter是可选参数,在返回字符串中用于是可选参数,在返回字符串中用于分隔子字符串的字符。默认使用空格分隔子字符串的字符。默认使用空格 来分来分隔子字符串。如果隔子字符串。如果DelimiterDelimiter是零长度字符串是零长度字符串,所有元素项都连接在一起,中间没有分隔,所有元素项都连接在一起,中间没有分隔符。

21、符。Visual Basic程序设计教程20例如:例如: Dim StrA(2) As String, Str1 As StringDim StrA(2) As String, Str1 As String StrA(0) = StrA(0) = 欢迎来到欢迎来到 StrA(1) = Visual StrA(1) = Visual StrA(2) = Basic 6 StrA(2) = Basic 6 Str1 = Join(StrA) Str1 = Join(StrA)连接字符数组连接字符数组StrAStrA中三个字符串中三个字符串Visual Basic程序设计教程2122SplitSpl

22、it函数函数 给定一个字符串,可以使用给定一个字符串,可以使用SplitSplit函数创建一个函数创建一个一维数组,它包含指定数目的子字符串。函数格式一维数组,它包含指定数目的子字符串。函数格式为:为:Split( StringExpress, Delimiter, Count, CompareType)Split( StringExpress, Delimiter, Count, CompareType)StringExpressStringExpress必需参数,字符串表达式。如果表达式的长度为零即为必需参数,字符串表达式。如果表达式的长度为零即为”,SplitSplit返返回一个空数组,

23、即没有元素和数据的数组回一个空数组,即没有元素和数据的数组DelimiterDelimiter可选参数,标识子字符串边界字符。默认空格字符可选参数,标识子字符串边界字符。默认空格字符 为分隔符。如为分隔符。如果该参数是空字符果该参数是空字符“”,则返回数组仅包含一个元素,即,则返回数组仅包含一个元素,即StringExpressStringExpress字符串字符串CountCount可选参数,指定返回的子字符串数,可选参数,指定返回的子字符串数,11表示返回所有的子字符串表示返回所有的子字符串CompareTypeCompareType可选参数,用数字值表示判别子字符串时使用的比较方式。意义

24、同可选参数,用数字值表示判别子字符串时使用的比较方式。意义同表表9.19.1Visual Basic程序设计教程22【例【例9-29-2】使用】使用SplitSplit函数。程序执行后的显示如图函数。程序执行后的显示如图所示。程序代码如下:所示。程序代码如下: Private Sub Form_Load()Private Sub Form_Load() Dim x() As String Dim x() As String Dim y As String, n As Integer Dim y As String, n As Integer Show Show y = Welcome To V

25、isual Basic 6 ! y = Welcome To Visual Basic 6 ! x = Split(y) x = Split(y) For n = LBound(x) To UBound(x) For n = LBound(x) To UBound(x) Print & x(n) Print & x(n) Next Next End Sub End Sub Visual Basic程序设计教程233 3FilterFilter函数。函数。从一个已知数组中搜索指定的字符串,可以使用从一个已知数组中搜索指定的字符串,可以使用FilterFilter函数函数 ,ilt

26、erilter函数的格式为:函数的格式为: Filter(StringsArray, Value, Include, CompareType)Filter(StringsArray, Value, Include, CompareType)StringsArrayStringsArray必需参数,被执行搜索的一维字符串数组必需参数,被执行搜索的一维字符串数组ValueValue必需参数,要搜索的字符串必需参数,要搜索的字符串IncludeInclude可选参数,可选参数,BooleanBoolean值。值。TrueTrue返回的是包含返回的是包含ValueValue子字符串的数组子集。子字符串

27、的数组子集。FalseFalse则返回的是则返回的是不包含不包含ValueValue子字符串的数组子集子字符串的数组子集CompareTypeCompareType可选的数字值,表示所使用的比较类型,意可选的数字值,表示所使用的比较类型,意义同表义同表9.19.1Visual Basic程序设计教程24【例【例9-3】请从数组】请从数组A中选出包中选出包 括括“VB” 和不包括和不包括 “VB” 的的元元 素。素。 程序执行后的显示如图所示。程序执行后的显示如图所示。 Visual Basic程序设计教程25Private Sub Form_Load()Private Sub Form_Loa

28、d() Show Show Dim A(6) As String, B() As String, C() As String Dim A(6) As String, B() As String, C() As String A(0) = C: A(1) = VB6: A(2) = C+ A(0) = C: A(1) = VB6: A(2) = C+ A(3) = Jave: A(4) = VB5: A(5) = MS.Net A(3) = Jave: A(4) = VB5: A(5) = MS.Net Print Print 数组数组 A A 中所有的字符串元素有:中所有的字符串元素有: Ca

29、ll Prt(A) Call Prt(A) B() = Filter(A, VB) B() = Filter(A, VB) Print Print 数组数组A A中包含有中包含有VBVB字符的元素有:字符的元素有: Call Prt(B) Call Prt(B) C() = Filter(A, VB, False) C() = Filter(A, VB, False) Print Print 数组数组A A中不包含中不包含VBVB字符的元素有:字符的元素有: Call Prt(C) Call Prt(C)End SubEnd SubPrivate Sub Prt(m() As String)

30、For n = 0 To UBound(m) Print & m(n) Next PrintEnd SubVisual Basic程序设计教程26 本节给出本节给出VBVB处理字符串的常用操作,如取处理字符串的常用操作,如取单个字符、取其中指定的字符、去除字符串中单个字符、取其中指定的字符、去除字符串中的空格和转换函数。的空格和转换函数。Visual Basic程序设计教程27运算符运算符 比较运算符比较运算符LikeLike用于比较字符串。用于比较字符串。LikeLike返回一个返回一个逻辑值:逻辑值:TrueTrue表示被比较的两个字符串相匹配,表示被比较的两个字符串相匹配,Fal

31、seFalse表示不匹配。使用格式为:表示不匹配。使用格式为:Result = Result = String1 Like PatternString1 Like Pattern VBVB根据模式匹配可以使用通配符来匹配字符串。根据模式匹配可以使用通配符来匹配字符串。也就是说使用也就是说使用WindowsWindows中的中的? ?、* *和三个匹配和三个匹配符:?表示任何单一字符,符:?表示任何单一字符,* *表示零个或多个字表示零个或多个字Visual Basic程序设计教程28 * *表示零个或多个字符,表示零个或多个字符,# #表示任何一个数字表示任何一个数字 (09)(09)。例如有

32、。例如有Str1= “Hello World”Str1= “Hello World”,则表,则表达式达式 Str1 Like “Hello World”Str1 Like “Hello World” Str1 Like “Hello Str1 Like “Hello* * ” ” Str1 Like “Hello? ” Str1 Like “Hello? ” 返回的结果为都为返回的结果为都为TrueTrue。 Visual Basic程序设计教程29 使用使用Mid操作字符串中的字符操作字符串中的字符操作字符串中的单个或者多个字符,一般情况下使用操作字符串中的单个或者多个字符,一般情况下使用M

33、idMid函函数或者数或者MidMid语句。关键字语句。关键字MidMid在在VBVB中既是函数也是语句中既是函数也是语句 。1MidMid函数函数 MidMid函数的格式如下:函数的格式如下:Mid(String1, Start, Length)Mid(String1, Start, Length) 参数参数String1String1是被操作的字符串,是被操作的字符串,StartStart为一个数字,为一个数字,指示从指示从String1String1中的字符起始位置,中的字符起始位置,LengthLength是可选参数,是可选参数,指示要返回的字符数,如果不指定则从指示要返回的字符数,如

34、果不指定则从StartStart开始往后的开始往后的所有字符。例如:所有字符。例如:Mid(“Hello”, 2,1) Mid(“Hello”, 2,1) 返回字符返回字符e e Visual Basic程序设计教程302 2MidMid语句语句 MidMid是作为语句使用,是作为语句使用,MidMid出现在赋值号的左边,格式出现在赋值号的左边,格式 为:为:MidMid(String1String1,Start , LengthStart , Length)= String2= String2 用用String2String2字符串代替字符串代替String1String1从从StartSt

35、art位置开始的字位置开始的字 符,可选参数符,可选参数LengthLength为替换的长度。注意,字符串为替换的长度。注意,字符串 String2String2的长度总是小于等于的长度总是小于等于LengthLength。假设我们已经定。假设我们已经定 义了义了MyStr = Visual BasicMyStr = Visual Basic,则:,则: Mid(Str1, 8) = C+ Mid(Str1, 8) = C+ 执行的结果使得执行的结果使得Str1Str1中的字符串为中的字符串为“Visual Visual C+ ”( C+ ”(包括后面的两个空格包括后面的两个空格) )。Vis

36、ual Basic程序设计教程31 使用使用Left、Right和和InStr操作字符串操作字符串 1Left函数使用使用Left函数选择字符串左边起到指定位置的部分。函数选择字符串左边起到指定位置的部分。 例如:例如: Str1 = “Visual Basic” Str2 = Left(Str1,6) 2Right函数使用使用Right函数选择字符串的右边部分。例如:函数选择字符串的右边部分。例如: Str1 = “Visual Basic” Str2 = Rightt(Str1,5) Visual Basic程序设计教程323 3InStrInStr函数函数使用格式为:使用格式为:InSt

37、r(Start, String1, String2)InStr(Start, String1, String2) 可选参数可选参数StartStart为开始进行搜索的位置,默认为为开始进行搜索的位置,默认为1 1表示从表示从头开始。头开始。String1String1为基字符串,为基字符串,String2String2为搜索字符串,为搜索字符串,InStrInStr在在String1String1中搜索是否包含中搜索是否包含String2String2字符串。返回结字符串。返回结果为数字果为数字,0,0表示没有找到表示没有找到, ,非非0 0表示返回表示返回String2String2在在St

38、ring1String1中出现的第一个起始位置中出现的第一个起始位置 假设假设Str1=”Visual Basic”Str1=”Visual Basic”,Str2=”Basic”Str2=”Basic”,则,则执行语句:执行语句: InStrInStr(Str1Str1,Str2Str2) 返回的结果为返回的结果为8 8,表示,表示“Basic”Basic”在在“Visual Basic”Visual Basic”中的位置为中的位置为8 8。Visual Basic程序设计教程33 删除多余的空格删除多余的空格 使用使用LTrimLTrim、RTrimRTrim与与TrimTrim函数得到一

39、个字符串的函数得到一个字符串的拷贝拷贝,删除前导空格,删除前导空格 (LTrim)(LTrim)、删除尾随空格、删除尾随空格 (RTrim)(RTrim)。TrimTrim函数将两头空格全部去除,但不函数将两头空格全部去除,但不删除中间的空格。删除中间的空格。 例例: :Dim MyString, TrimStringDim MyString, TrimString MyString = VB6 MyString = VB6 TrimString = LTrim(MyString) TrimString = VB6 TrimString = LTrim(MyString) TrimString

40、 = VB6 TrimString = RTrim(MyString) TrimString = VB6 TrimString = RTrim(MyString) TrimString = VB6 TrimString = Trim(MyString) TrimString = Trim(MyString) TrimString = VB6 TrimString = VB6Visual Basic程序设计教程34转换函数转换函数1 1AscAsc和和ChrChr函数函数AscAsc是取一个字符的是取一个字符的ASCIIASCII码的函数码的函数; ; Asc Asc函数对单个的字符计算,如果给

41、出的字符多于函数对单个的字符计算,如果给出的字符多于一个,它计算第一个字符的一个,它计算第一个字符的ASCIIASCII值。值。例如:例如:Asc(”a”) 得到的值为得到的值为97 Chr是是Asc的逆函数,它将一个数值转换为对应的字符,例如的逆函数,它将一个数值转换为对应的字符,例如 Chr(97)返回的就是字母返回的就是字母a。Chr(13)和和Chr(10)就分别代表回车就分别代表回车 和换行。和换行。Visual Basic程序设计教程352 2转换大小写转换大小写函数函数UCaseUCase和和LCaseLCase分别将字符串的字母转换为大分别将字符串的字母转换为大写或小写。它们的

42、使用方法比较简单:写或小写。它们的使用方法比较简单: UCase(StringExpress)UCase(StringExpress) LCase(StringExpress) LCase(StringExpress) 其中,其中,StringExpressStringExpress可以是字符串或者是字符可以是字符串或者是字符串表达式。例如串表达式。例如Str1 = Visual Basic 6Str1 = Visual Basic 6,则:,则: StrResult = UCase(Str1)StrResult = UCase(Str1) StrResult = ”VISUAL BASIC

43、6” StrResult = ”VISUAL BASIC 6” StrResult = LCase(Str1) StrResult = LCase(Str1) StrResult = “visual basic 6” StrResult = “visual basic 6”Visual Basic程序设计教程363 3IsNumbericIsNumberic和和ValValIsNumericIsNumeric判断一个字符串是否可以被完整地转换为数字,判断一个字符串是否可以被完整地转换为数字,例如:例如:Print IsNumeric(“123.456”) Print IsNumeric(“12

44、3.456”) 执行后输出为执行后输出为TrueTrue,Print IsNumeric(123A.456) Print IsNumeric(123A.456) 执行后的输出则为执行后的输出则为FalseFalse。其他的判断类型的函数还有其他的判断类型的函数还有IsStrIsArrayIsStrIsArray判断变判断变量是否为一个数组,量是否为一个数组,IsEmpty IsEmpty 函数判断变量是否函数判断变量是否已经初始化,已经初始化,IsErrorIsError函数判断表达式是否为一函数判断表达式是否为一个错误值。个错误值。IsNullIsNull函数判断表达式是否不包含任函数判断表

45、达式是否不包含任何有效数据何有效数据 (Null)(Null),IsObjectIsObject函数判断标示符函数判断标示符是否表示对象变量等,它们返回的都是布尔值。是否表示对象变量等,它们返回的都是布尔值。Visual Basic程序设计教程37ValVal的函数的使用格式为:的函数的使用格式为: Val(StringExpress)Val(StringExpress)把字符串表达式把字符串表达式StringExpressStringExpress转换为数字,按以转换为数字,按以 下规则:下规则:(1 1)如果)如果StringExpressStringExpress是由数符组成(包括小是由

46、数符组成(包括小 数点),则返回一个转换的数字值。数点),则返回一个转换的数字值。(2 2)如果)如果StringExpressStringExpress中的数符含有空格,忽中的数符含有空格,忽 略空格。略空格。Visual Basic程序设计教程38 (3 3)如果)如果StringExpressStringExpress含有数字和字母等其他含有数字和字母等其他符号,只转换最前符号,只转换最前 面的数字部分。面的数字部分。例:例:MyValue = Val(“2457”) MyValue = Val(“2457”) 返回返回 24572457。 MyValue = Val(“ 2 45 7”

47、) MyValue = Val(“ 2 45 7”) 返回返回 24572457。 MyValue = Val(24 and 57) MyValue = Val(24 and 57) 返回返回 2424。 Visual Basic程序设计教程394 4HexHex和和OctOct Hex Hex和和OctOct是将一个数值型或字符型表达式转换是将一个数值型或字符型表达式转换为十六进制和八进制数。例如:为十六进制和八进制数。例如:Print Hex(123)Print Hex(123) Print Oct(123) Print Oct(123)分别输出十六进制数分别输出十六进制数7B7B和八进制

48、数和八进制数173 173 Visual Basic程序设计教程40函数函数返回类型返回类型Expression Expression 参数范围参数范围CBool CBool BooleanBoolean任何有效的字符串或数值表达式。任何有效的字符串或数值表达式。CByte CByte ByteByte0 0 至至 255255。CCurCCurCurrencyCurrency-922,337,203,685,477.5808-922,337,203,685,477.5808至至922,337,203,685,477.5807922,337,203,685,477.5807。CDateCDat

49、eDateDate任何有效的日期表达式,如任何有效的日期表达式,如#05-12-31#05-12-31#。CDblCDblDouble Double 负数从负数从-1.79769313486232E308-1.79769313486232E308至至 -4.94065645841247E-324-4.94065645841247E-324;正数从;正数从4.94065645841247E-3244.94065645841247E-324至至1.79769313486232E3081.79769313486232E308。CDecCDecDecimalDecimal零变比数值,即无小数位的数值为

50、零变比数值,即无小数位的数值为: +/-79,228,162,514,264,337,593,543,950,335: +/-79,228,162,514,264,337,593,543,950,335。对于对于 28 28 位小数的数值,范围则为:位小数的数值,范围则为:+/-7.9228162514264337593543950335+/-7.9228162514264337593543950335;最小的可能非零值是最小的可能非零值是 0.00000000000000000000000000010.0000000000000000000000000001。CIntCIntIntegerI

51、nteger-32,768 -32,768 至至 32,76732,767,小数部分四舍五入。,小数部分四舍五入。CLngCLngLongLong-2,147,483,648 -2,147,483,648 至至 2,147,483,6472,147,483,647,小数部分四舍五入。,小数部分四舍五入。CSngCSngSingleSingle负数为负数为 -3.402823E38 -3.402823E38 至至 -1.401298E-45-1.401298E-45;正数为正数为 1.401298E-45 1.401298E-45 至至 3.402823E383.402823E38。CStrCS

52、trStringString依据依据 ExpressionExpression 参数返回参数返回 CstrCstr。CVarCVarVariantVariant若为数值,则范围与若为数值,则范围与DoubleDouble相同;若为非数值则范围与相同;若为非数值则范围与String String 相同。相同。 其它类型转换函数其它类型转换函数Visual Basic程序设计教程41 格式化函数格式化函数Format Format Format函数的使用格式为:函数的使用格式为:Format(Expression, format)Format(Expression, format) 其中,表达式其

53、中,表达式ExpressionExpression可以为任何有效表可以为任何有效表达式,而可选参数达式,而可选参数FormatFormat为指定的格式表达式。为指定的格式表达式。格式可以是格式可以是VBVB预先定义的,也可以是用户定义的。预先定义的,也可以是用户定义的。可使用可使用VBVB预定义名字来指定这些格式,如表预定义名字来指定这些格式,如表9.39.3所示。数字格式可以由用户指定,如表所示。数字格式可以由用户指定,如表9.49.4所示。所示。格式名总是用双引号格式名总是用双引号括起来。括起来。Visual Basic程序设计教程42例:例:Num1 = 123456789.34567N

54、um1 = 123456789.34567 Print Format(Num1, “Currency”) Print Format(Num1, “Currency”) 显示显示 ¥123,456,789.35123,456,789.35 Print Format(0.154, Percent) Print Format(0.154, Percent) 显示显示15.4%15.4% Print Format(1, On/Off) Print Format(1, On/Off) 显示显示 OnOn Format(8315.4, “00000.00”) Format(8315.4, “00000.0

55、0”) 显示显示08315.4008315.40 Format(8315.4, “#.#”) Format(8315.4, “#.#”) 显示显示8315.48315.4 Format(8315.4,“#,#0.00”) Format(8315.4,“#,#0.00”) 显示显示8,315.408,315.40 Format(315.4,“$#0.00”) Format(315.4,“$#0.00”) 显示显示 $315.40$315.40Visual Basic程序设计教程43 Len函数和函数和Space函数函数 1 1LenLen函数函数 函数执行后返回一个函数执行后返回一个LongLo

56、ng型值,指示字符串内字型值,指示字符串内字符的数目,或是存储一变量所需的字节数。使用符的数目,或是存储一变量所需的字节数。使用格式为:格式为:Len(string | varname)Len(string | varname) 例:例: dim x as stringdim x as string x=“abcd” x=“abcd” print len(x) print len(x) 显示显示4 4 dim x as integer dim x as integer x=12345 x=12345 print len(x) print len(x) 显示显示2 2Visual Basic程序

57、设计教程442 2SpaceSpace函数函数执行执行SpaceSpace函数返回特定数目空格。使用格式为:函数返回特定数目空格。使用格式为: Space(number)Space(number) 其中所必须的其中所必须的numbernumber参数为字符串中想要的空参数为字符串中想要的空格数。例如:格数。例如: Dim MyStringDim MyString MyString = Space(10) MyString = Space(10) 返回返回 10 10 个空格的字符串。个空格的字符串。 MyString = Hello & MyString = Hello & S

58、pace(10) & WorldSpace(10) & World 将将 10 10 个空格插入两个字符串中间。个空格插入两个字符串中间。Visual Basic程序设计教程45字处理器中,字符的查找和替换是基本功能。运用字处理器中,字符的查找和替换是基本功能。运用前面介绍过的一些字符处理函数,可以实现对字符前面介绍过的一些字符处理函数,可以实现对字符串中的指定的子字符串进行查找和替换操作串中的指定的子字符串进行查找和替换操作, ,例如使例如使用用InStrInStr,使用,使用MidMid函数和函数和MidMid语句等。语句等。VBVB还提供了一还提供了一个函数个函数Repl

59、aceReplace实现这个功能。实现这个功能。 ReplaceReplace函数返回一个字符串,该字符串中指定的子函数返回一个字符串,该字符串中指定的子字符串已被替换成另一子字符串,并且替换发生的字符串已被替换成另一子字符串,并且替换发生的次数也可以指定。使用格式为:次数也可以指定。使用格式为:Visual Basic程序设计教程46 Replace(Expression, Find, Replacewith, Start, Replace(Expression, Find, Replacewith, Start, Count)Count)函数参数函数参数ExpressionExpressi

60、on为字符串表达式,其中包含要被替换的为字符串表达式,其中包含要被替换的子字符串。子字符串。FindFind是指定要搜索的子字符串,是指定要搜索的子字符串,ReplacewithReplacewith用用来替换的子字符串。来替换的子字符串。StartStart确定在确定在ExpressExpress子字符串搜索的开子字符串搜索的开始位置,默认从始位置,默认从1 1开始。开始。CountCount为进行替换的次数,默认是为进行替换的次数,默认是11,它表明进行所有可能的替换。可以根据,它表明进行所有可能的替换。可以根据ReplaceReplace函数的函数的返回值判断查找和替换操作的结果。返回值如表返回值判断查找和替换操作的结果。返回值如表9.59.5所示。所示。 Visual Basic程序设计教程47【例【例9-49-4】用一个文本框作为简单的字编辑器,】用一个文本框作为简单的字编辑器,在其中输入一段有关电在其中输入一段有关电 脑编程的文字,然后用脑编程的文字,然后用 查找替换的方

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论