2-11vbnet类型转换函数解读
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中各种数据类型转换函数
VB中各种数据类型转换函数1. 各种进制转换函数一般的数据进制包括十进制,二进制,十六进制.十进制就是我们日常生活用到的数据进制,因此也是我们最熟悉和清楚的;二进制是计算机的基础进制,主要是因为便于用物理器件实现二进制;八进制和十六进制因为和二进制的天然的亲密关系,并且表示比二进制更方便,因而也成为计算机的常用表示方法.VB中涉及到的数据进制之间的转换函数主要有如下几个:Hex 函数: 返回代表十六进制数值的 String;Oct 函数: 返回代表一数值的八进制值的Var iant(String);Cint函数: 强制将一个表达式转换成-32,768 至32,767的整型;CLng函数: 强制将一个表达式转换成-2,147,483,648 至2,147,483,647的长整型;Cdec函数: 强制将一个表达式转换成Decim al 数据类型;CDbl函数: 强制将一个表达式转换成Doubl e 数据类型;以上这些函数是最基本的几个数据进制之间的转换函数,其中以前三个函数最常用,也最有用.从上面几个函数我们可以看到,VB中没有为我们提供专门的函数供我们将表达式或是数据转换成十进制和二进制,不过十进制的转换我们可以通过Ci nt函数轻松完成,而二进制的实现我们可以通过二进制和八进制,十六进制的关系轻松转换.下面几个例子为Hex函数和Oct函数以及C int函数的实例:(1). A= hex(5) 返回5;(2). B=hex(10) 返回A(3). C=hex(23) 返回17(4). D=oct(5) 返回5(5). E=oct(10) 返回12(6). F=oct(23) 返回27(7). G=Cint(&H17) 返回23(8) . H=Cint(&O12) 返回10以上这些函数的应用比较简单,就不多说了,值得一提的是Hex函数和Oct函数返回的都是字符串,如果是想将十六进制或是八进制的字符串变量转换成十进制,可以按如下方法进行:C=”17”17为十六进制数值的S tringC=”&H”&CIc=Cint(C) 返回232. 字符串和数字转换函数VB中的字符串函数比较多,也比较方便,就不一一介绍了.本文主要对字符串相关的转换函数做一些小结.字符串转换的函数主要有:Str()和V al()用于字符串和数字的相互转换;Chr()和Asc()用于字符串和AscII码的相互转换;Chrw()和Ascw()用于Unic ode码和中文的相互转换;Format()函数用途十分广泛的一个函数,功能十分强大.在这些函数中前两对和F ormat()函数是我们经常用到的,这里只给出前两对的几个简单例子: (1) MyStri ng = Str(-459.65) ' 返回"-459.65"。
042 VB编程之类型转换函数和随机函数用法
随机函数举例:
目标:设计一个程序,随机产生 5 个在 1-10 范围内的整数。第一个按钮事件中不使 用 Randomize 函数,第二个按钮事件中使用 Randomize 函数。然后运行程序 2 次, 观察结果有何区别。
第一步:按照下图设计程序界面:
第二步:按照下图编写代码:
注意:产生 1-10 之间的整数,按照上面的公式,可以写出来其表达式为: Int((10-1)*Rnd+1),即:Int(10*Rnd+1) 第三步:运行程序,点击三次按钮 1,再点击三次按钮 2,然后将结果拍照或截图保 存,以便与下一次运行结果对比。比如,我这里运行结果如下:
如果 number 的值是
Rnd 生成
小于 0
每次都使用 number 作为随机数种子得到的 相同结果。
大于 0
序列中的下一个随机数。
等于 0
最近生成的数。
省略
序列中的下一个随机数。
说明: 1,Rnd 函数返回小于 1 但大于或等于 0 的值。 2,number 的值决定了 Rnd 生成随机数的方式。 3,对最初给定的种子都会生成相同的数列,因为每一次调用 Rnd 函数都用数列中 的前一个数作为下一个数的种子。 4,在调用 Rnd 之前,先使用无参数的 Randomize 语句初始化随机数生成器,该 生成器具有根据系统计时器得到的种子。
Hex(number)
必要的 number 参数为任何有效的数值表达式或字符串表达式。 说明: 如果 number 还不是一个整数,那么在执行前会先被四舍五入成最接近的整数。
如果 number 为
所得为
Null
Null
Empty
零 (0)
任何其他的数字
VB NET常用函数
常用函数
1.数学函数
数学函数包含在Math类中,使用时应在函数名之前加上“Math”,如Math.sin(3.14)。
也可以先将Math 命名框架引入到程序中,然后直接调用函数即可。
引入命名空间在类模块、窗体模块或标准模块的在声明部分使用Imports语句,如导入Math命名空间,可使用如下语句:Imports System.Math。
在中常用的数学函数如表2.9所示。
表2.9 常用数学函数
字符处理函数可以直接调用,常用的字符处理函数见表2.10。
表2.10 常用字符处理函数
产生随机数使用Rnd函数,该函数的一般格式为:Rnd(X)
产生一个[0,1]之间的单精度随机数。
要产生一个[n,m]之间的随机数,可以用下面的公式来完成:
Int((m-n+1)*Rnd+n)
4.转换函数
常用的转换函数如表2.11所示。
使用这些函数可以进行不同数据类型之间的转换。
一般地,使用日期函数可以获得一个日期或时间数据。
常用的日期函数如表2.12所示。
VB函数说明及使用方法
VB函数说明及使用方法VB(Visual Basic)是一种基于事件驱动的编程语言,由微软公司开发。
它具有易学、易用的特点,是一种适用于Windows操作系统的高级编程语言。
VB函数是VB语言中常用的一种函数,用于进行数据处理和逻辑控制等操作。
VB函数的语法形式为:```[访问类型] Function 函数名(参数列表) As 返回值类型函数体[Exit Function]函数名=返回值[End Function]```其中- 访问类型:指定函数在程序中的可见性,可以包括Public(公共的)、Private(私有的)、Protected(受保护的)等。
-函数名:为函数定义的标识符,用于调用函数。
-参数列表:函数的输入参数,在括号内列出各个参数的名称和数据类型。
-返回值类型:函数的返回值类型,用于指定函数返回的数据类型。
-函数体:函数的具体实现逻辑。
- Exit Function:可选项,用于提前退出函数。
-返回值:函数的返回结果。
下面是一个示例函数的定义:```Public Function AddNumbers(ByVal num1 As Double, ByVal num2 As Double) As DoubleDim sum As Doublesum = num1 + num2AddNumbers = sumEnd Function```这个函数名为AddNumbers,接受两个Double类型的参数,返回值也是Double类型。
函数体中将两个参数相加,并将结果赋值给变量sum,最后将sum作为返回值。
使用VB函数的方法包括以下几个步骤:1.引入函数所在的模块或类库。
如果函数不是在当前模块或类库中定义的,需要通过引入来告知编译器。
2.调用函数。
在程序中通过函数名加括号的形式来调用函数,并传递相应的参数。
函数可以在赋值语句、逻辑判断语句、循环语句等各种场景下进行调用。
3.使用函数的返回值。
vb中各种数据类型转换函数
VB中各种数据类型转换函数1. 各种进制转换函数一般的数据进制包括十进制,二进制,十六进制.十进制就是我们日常生活用到的数据进制,因此也是我们最熟悉和清楚的;二进制是计算机的基础进制,主要是因为便于用物理器件实现二进制;八进制和十六进制因为和二进制的天然的亲密关系,并且表示比二进制更方便,因而也成为计算机的常用表示方法.VB中涉及到的数据进制之间的转换函数主要有如下几个:Hex 函数: 返回代表十六进制数值的String;Oct 函数: 返回代表一数值的八进制值的V ariant (String);Cint函数: 强制将一个表达式转换成-32,768 至32,767的整型;CLng函数: 强制将一个表达式转换成-2,147,483,648 至2,147,483,647的长整型;Cdec函数: 强制将一个表达式转换成Decimal 数据类型;CDbl函数: 强制将一个表达式转换成Double 数据类型;以上这些函数是最基本的几个数据进制之间的转换函数,其中以前三个函数最常用,也最有用.从上面几个函数我们可以看到,VB中没有为我们提供专门的函数供我们将表达式或是数据转换成十进制和二进制,不过十进制的转换我们可以通过Cint函数轻松完成,而二进制的实现我们可以通过二进制和八进制,十六进制的关系轻松转换.下面几个例子为Hex函数和Oct函数以及Cint函数的实例:(1). A= hex(5) 返回5;(2). B=hex(10) 返回A(3). C=hex(23) 返回17(4). D=oct(5) 返回5(5). E=oct(10) 返回12(6). F=oct(23) 返回27(7). G=Cint(&H17) 返回23(8) . H=Cint(&O12) 返回10以上这些函数的应用比较简单,就不多说了,值得一提的是Hex函数和Oct函数返回的都是字符串,如果是想将十六进制或是八进制的字符串变量转换成十进制,可以按如下方法进行:C=”17” 17为十六进制数值的StringC=”&H” & CIc=Cint(C) 返回232. 字符串和数字转换函数VB中的字符串函数比较多,也比较方便,就不一一介绍了.本文主要对字符串相关的转换函数做一些小结.字符串转换的函数主要有:Str()和V al()用于字符串和数字的相互转换;Chr()和Asc()用于字符串和AscII码的相互转换;Chrw()和Ascw()用于Unicode码和中文的相互转换;Format()函数用途十分广泛的一个函数,功能十分强大.在这些函数中前两对和Format()函数是我们经常用到的,这里只给出前两对的几个简单例子: (1) MyString = Str(-459.65) ' 返回"-459.65"。
VB数据类型转换函数
'输出结果为True
'将数值转换为布尔型时,等于0的数值将得到False,不等于0的数值得到True、
2、Int(X),Fix(X):取X的整数值
[格式]:
P=Int(X) '取<=X的最大整数值
P=Fix(X) '取X的整数部分,直接去掉小数
[范例]:
(1) Int(-54、6)
输出结果:P="cba"
6、Ucase(X),Lcase(X):转换英文字母的大小写
[格式]:
P=写
P=Ucase(X)
'将X字符串中的小写字母转换成大写
[说明]:除了英文字母外,其她字符或中文字都不会受到影响。
[范例]:
(1)令X="VB and VC"
[范例]:
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=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函数:合并年,月,日成为日期
VBA常用类型转换函数
函数名称决定返回类型,如下所示:函数返回类型expression 参数范围1:CBool Boolean 任何有效的字符串或数值表达式。
2:CByteByte 0 至255。
3:CCurCurrency -922,337,203,685,477.5808 至922,337,203,685,477.5807。
4:CDate D ate 任何有效的日期表达式。
5:CDbl Double 负数从-1.79769313486231E308 至-4.94065645841247E-324;正数从4.94065645841247E-324 至1.79769313486232E308。
6:CDec Decimal 零变比数值,即无小数位数值,为+/-79,228,162,514,264,337,593,543,950,335。
对于28 位小数的数值,范围则为+/-7.9228162514264337593543950335;最小的可能非零值是0.0000000000000000000000000001。
7: CInt Integer -32,768 至32,767,小数部分四舍五入。
8: CLng Long -2,147,483,648 至2,147,483,647,小数部分四舍五入。
9: CSng Single 负数为-3.402823E38 至-1.401298E-45;正数为 1.401298E-45 至3.402823E38。
10: CStr String 依据expression 参数返回Cstr。
11: CVar Variant 若为数值,则范围与Double 相同;若不为数值,则范围与String 相同。
说明如果传递给函数的expression 超过转换目标数据类型的范围,将发生错误。
通常,在编码时可以使用数据类型转换函数,来体现某些操作的结果应该表示为特定的数据类型,而不是缺省的数据类型。
例如,当单精度、双精度或整数运算发生的情况下,使用CCur来强制执行货币运算。
vba数据类型转换函数
vba数据类型转换函数在VBA中,可以使用以下函数将数据从一种数据类型转换为另一种数据类型:1. CBool:将一个表达式转换为布尔值。
vbaDim str As StringDim b As Booleanstr = "True"b = CBool(str)2. CByte:将一个表达式转换为字节类型(0-255之间的整数)。
vbaDim str As StringDim b As Bytestr = "10"b = CByte(str)3. CCur:将一个表达式转换为货币类型。
vbaDim str As StringDim c As Currencystr = "100.50"c = CCur(str)4. CDate:将一个表达式转换为日期类型。
vbaDim str As StringDim d As Datestr = "2022-01-01"d = CDate(str)5. CDbl:将一个表达式转换为双精度浮点数类型。
vbaDim str As StringDim d As Doublestr = "3.14"d = CDbl(str)6. CInt:将一个表达式转换为整数类型。
vbaDim str As StringDim i As Integerstr = "10"i = CInt(str)7. CLng:将一个表达式转换为长整型(32位整数)类型。
vbaDim str As StringDim l As Longstr = "100000"l = CLng(str)8. CSng:将一个表达式转换为单精度浮点数类型。
vbaDim str As StringDim s As Singlestr = "3.14"s = CSng(str)9. CStr:将一个表达式转换为字符串类型。
vba数据类型转换函数
vba数据类型转换函数摘要:一、VBA数据类型转换函数简介1.数据类型转换的重要性2.VBA中可用的数据类型转换函数二、VBA数据类型转换函数详解1.CStr()2.CInt()3.CDbl()4.CSng()5.CLng()6.CDec()7.CBool()三、VBA数据类型转换函数的实际应用1.数据清洗与转换2.数据验证与处理3.数据整合与展示四、总结与展望1.数据类型转换函数在VBA编程中的重要性2.未来数据类型转换的可能性与挑战正文:一、VBA数据类型转换函数简介在VBA编程中,数据类型转换是非常常见的操作。
不同的数据类型拥有不同的存储方式和处理方式,因此,在数据处理过程中,可能需要将一种数据类型转换为另一种数据类型以满足特定需求。
VBA提供了丰富的数据类型转换函数,使得开发者可以轻松实现数据类型的转换。
二、VBA数据类型转换函数详解VBA中提供了以下数据类型转换函数:1.CStr():将数值表达式转换为字符串。
2.CInt():将数值表达式转换为整数。
3.CDbl():将数值表达式转换为双精度浮点数。
4.CSng():将数值表达式转换为单精度浮点数。
5.CLng():将数值表达式转换为长整数。
6.CDec():将数值表达式转换为十进制数。
7.CBool():将数值表达式转换为布尔值(真或假)。
三、VBA数据类型转换函数的实际应用在实际编程过程中,数据类型转换函数被广泛应用于数据清洗、转换、验证以及整合等场景。
例如,在进行数据汇总时,可能需要将某一列的数据从字符串类型转换为数值类型,以便进行数学运算;在进行数据验证时,可能需要将用户输入的数据转换为特定类型,以满足业务需求。
四、总结与展望VBA数据类型转换函数为开发者提供了丰富的数据处理工具,使得数据处理变得更加灵活和高效。
vb中的布尔型和数值型转化
vb中的布尔型和数值型转化-概述说明以及解释1.引言1.1 概述布尔型和数值型的转化是在VB中常见的操作之一,它们允许我们在不同数据类型之间进行转换和交互。
在编程过程中,我们有时需要将布尔型转化为数值型,或者将数值型转化为布尔型,以满足特定的需求。
此外,我们还可能需要将布尔型转化为字符串型或日期型,或将数值型转化为字符串型或日期型。
在这篇文章中,我们将探讨如何进行布尔型和数值型之间的转化。
首先,我们将详细介绍布尔型转化为数值型的方法,包括将True转化为1,将False转化为0等。
然后,我们将深入讨论布尔型转化为字符串型和日期型的技巧与应用实例,以帮助读者更好地理解和掌握这些转化过程。
接下来,我们将探讨数值型转化为布尔型的方法,包括将非零值转化为True,将零值转化为False等。
我们还将说明如何将数值型转化为字符串型和日期型,以及其他数据类型,提供实际的代码演示和应用场景。
最后,我们将总结所讨论的内容,并展望未来可能的进一步研究方向和应用领域。
通过本文的阅读,读者将能够更好地理解和运用布尔型和数值型之间的转化技巧,提高自己在VB编程中的效率和质量。
1.2文章结构文章结构部分的内容可以描述文章中各个章节的含义和顺序,以帮助读者更好地理解整篇文章的组织结构。
在这篇文章中,我们将探讨在VB(Visual Basic)编程语言中的布尔型和数值型之间的转化。
文章按照以下结构进行组织:1. 引言部分(Introduction)- 1.1 概述(Overview):介绍VB语言中布尔型和数值型的基本概念和特点,以及它们在编程中的重要性和使用场景。
- 1.2 文章结构(Article Structure):概述整篇文章的章节划分和内容组织,帮助读者更好地理解文章的整体结构。
- 1.3 目的(Purpose):明确探讨布尔型和数值型转化的目的,即为读者提供关于如何在VB中进行这些转化的知识和技巧。
- 1.4 总结(Summary):简要总结引言部分,引导读者进入正文部分。
VB进制转换大全(十进制、十六进制、八进制、二进制、二进制流)互转
VB进制转换大全(十进制、十六进制、八进制、二进制、二进制流)互转模块包含了下面的各种转换:二进制转十进制二进制转化为八进制二进制转化为十六进制八进制转化为十进制八进制转化为二进制八进制转化为十六进制十进制转二进制十进制转化为八进制十进制转化为十六进制十六进制转化为二进制十六进制转化为八进制十六进制转化为十进制16进制转ASC10进制长整数转4位16进制字符串10进制长整数转2位16进制字符串ASCII字符串转16进制字符串反16进制数转10进制数,共8位反16进制数转10进制数,共6位反16进制数转10进制数,共4位10进制数转反16进制数,共8位0进制数转反16进制数,共6位10进制数转反16进制数,共4位记录集转二进制流ASCII码转二进制流二进制流转ASCII码VBScript code复制代码'二进制转十进制PublicFunctionB2D(vBStr AsString) AsLongDimvLen AsInteger'串长DimvDec AsLong'结果DimvG AsLong'权值DimvI AsLong'位数DimvTmp AsString'临时串DimvN AsLong'中间值vLen = Len(vBStr) vG = 1 '初始权值vDec = 0 '结果初值B2D = vDec '返回初值ForvI = vLen To1 Step-1 vTmp = Mid(vBStr, vI, 1) '取出当前位vN = Val(vTmp) IfvN < 2 Then'判断是不是合法二进制串,貌似不严谨,E文和符号会被判0而合法vDec = vDec + vG * vN '得到中间结果vG = vG + vG ElsevDec = 0 'msgbox '不是有效的二进制数',vbokonlyExitFunctionEndIfNextvI B2D = vDecEndFunction'十进制转二进制PublicFunctionD2B(Dec AsLong) AsStringD2B = ''DoWhileDec > 0 D2B = Dec Mod2 & D2B Dec = Dec \ 2 Loop EndFunction' 用途:将十六进制转化为二进制' 输入:Hex(十六进制数)' 输入数据类型:String' 输出:H2B(二进制数)' 输出数据类型:String' 输入的最大数为2147483647个字符PublicFunctionH2B(ByValHexAsString) AsStringDimi AsLongDimb AsStringHex= UCase(Hex) Fori = 1 ToLen(Hex) SelectCaseMid(Hex, i, 1) Case'0': b = b & '0000'Case'1': b = b & '0001'Case'2': b = b & '0010'Case'3': b = b & '0011'Case'4': b = b & '0100'Case'5': b = b & '0101'Case'6': b = b & '0110'Case'7': b = b & '0111'Case'8': b = b & '1000'Case'9': b = b & '1001'Case'A': b = b & '1010'Case'B': b = b & '1011'Case'C': b = b & '1100'Case'D': b = b & '1101'Case'E': b = b & '1110'Case'F': b = b & '1111'EndSelectNexti WhileLeft(b, 1) = '0'b = Right(b, Len(b) - 1) WendH2B = bEndFunction' 用途:将二进制转化为十六进制' 输入:Bin(二进制数)' 输入数据类型:String' 输出:B2H(十六进制数)' 输出数据类型:String' 输入的最大数为2147483647个字符PublicFunctionB2H(ByValBin AsString) AsStringDimi AsLongDimH AsStringIfLen(Bin) Mod4 <> 0 ThenBin = String(4 - Len(Bin) Mod4, '0') & Bin EndIfFori = 1 ToLen(Bin) Step4 SelectCaseMid(Bin, i, 4) Case'0000': H = H & '0'Case'0001': H = H & '1'Case'0010': H = H & '2'Case'0011': H = H & '3'Case'0100': H = H & '4'Case'0101': H = H & '5'Case'0110': H = H & '6'Case'0111': H = H & '7'Case'1000': H = H & '8'Case'1001': H = H & '9'Case'1010': H = H & 'A'Case'1011': H = H & 'B'Case'1100': H = H & 'C'Case'1101': H = H & 'D'Case'1110': H = H & 'E'Case'1111': H = H & 'F'EndSelectNexti WhileLeft(H, 1) = '0'H = Right(H, Len(H) - 1) WendB2H = HEndFunction' 用途:将十六进制转化为十进制' 输入:Hex(十六进制数)' 输入数据类型:String' 输出:H2D(十进制数)' 输出数据类型:Long' 输入的最大数为7FFFFFFF,输出的最大数为2147483647PublicFunctionH2D(ByValHexAsString) AsLongDimi AsLongDimb AsLongHex= UCase(Hex) Fori = 1 ToLen(Hex) SelectCaseMid(Hex, Len(Hex) - i + 1, 1) Case'0': b = b + 16 ^ (i - 1) * 0 Case'1': b = b + 16 ^ (i - 1) * 1 Case'2': b = b + 16 ^ (i - 1) * 2 Case'3': b = b + 16 ^ (i - 1) * 3 Case'4': b = b + 16 ^ (i - 1) * 4 Case'5': b = b + 16 ^ (i - 1) * 5 Case'6': b = b + 16 ^ (i - 1) * 6 Case'7': b = b + 16 ^(i - 1) * 7 Case'8': b = b + 16 ^ (i - 1) * 8 Case'9': b = b + 16 ^ (i -1) * 9 Case'A': b = b + 16 ^ (i - 1) * 10 Case'B': b = b + 16 ^ (i - 1) * 11 Case'C': b = b + 16 ^ (i - 1) * 12 Case'D': b = b + 16 ^ (i - 1) * 13 Case'E': b = b + 16 ^ (i - 1) * 14 Case'F': b = b + 16 ^ (i - 1) * 15 EndSelectNexti H2D = bEndFunction' 用途:将十进制转化为十六进制' 输入:Dec(十进制数)' 输入数据类型:Long' 输出:D2H(十六进制数)' 输出数据类型:String' 输入的最大数为2147483647,输出最大数为7FFFFFFFPublicFunctionD2H(Dec AsLong) AsStringDima AsStringD2H = ''DoWhileDec > 0 a = CStr(Dec Mod16) SelectCasea Case'10': a = 'A'Case'11': a = 'B'Case'12': a = 'C'Case'13': a = 'D'Case'14': a = 'E'Case'15': a = 'F'EndSelectD2H = a & D2H Dec = Dec \ 16 LoopEndFunction' 用途:将十进制转化为八进制' 输入:Dec(十进制数)' 输入数据类型:Long' 输出:D2O(八进制数)' 输出数据类型:String' 输入的最大数为2147483647,输出最大数为177****7777PublicFunctionD2O(Dec AsLong) AsStringD2O = ''DoWhileDec > 0 D2O = Dec Mod8 & D2O Dec = Dec \ 8 LoopEndFunction' 用途:将八进制转化为十进制' 输入:Oct(八进制数)' 输入数据类型:String' 输出:O2D(十进制数)' 输出数据类型:Long' 输入的最大数为177****7777,输出的最大数为2147483647PublicFunctionO2D(ByValOctAsString) AsLongDimi AsLongDimb AsLongFori = 1 ToLen(Oct) SelectCaseMid(Oct, Len(Oct) - i + 1, 1) Case'0': b = b + 8 ^ (i - 1) * 0 Case'1': b = b + 8 ^ (i - 1) * 1 Case'2': b = b + 8 ^ (i - 1) * 2 Case'3': b = b + 8 ^ (i - 1) * 3 Case'4': b = b + 8 ^ (i - 1) * 4 Case'5': b = b + 8 ^ (i - 1) * 5 Case'6': b = b + 8 ^ (i - 1) * 6 Case'7': b = b + 8 ^ (i - 1) * 7 EndSelectNexti O2D = bEndFunction' 用途:将二进制转化为八进制' 输入:Bin(二进制数)' 输入数据类型:String' 输出:B2O(八进制数)' 输出数据类型:String' 输入的最大数为2147483647个字符PublicFunctionB2O(ByValBin AsString) AsStringDimi AsLongDimH AsStringIfLen(Bin) Mod3 <> 0 ThenBin = String(3 - Len(Bin) Mod3, '0') & Bin EndIfFori = 1 ToLen(Bin) Step3 SelectCaseMid(Bin, i, 3) Case'000': H = H & '0'Case'001': H = H & '1'Case'010': H = H & '2'Case'011': H = H & '3'Case'100': H = H & '4'Case'101': H = H & '5'Case'110': H = H & '6'Case'111': H = H & '7'EndSelectNexti WhileLeft(H, 1) = '0'H = Right(H, Len(H) - 1) WendB2O = HEndFunction' 用途:将八进制转化为二进制' 输入:Oct(八进制数)' 输入数据类型:String' 输出:O2B(二进制数)' 输出数据类型:String' 输入的最大数为2147483647个字符PublicFunctionO2B(ByValOctAsString) AsStringDimi AsLongDimb AsStringFori = 1 ToLen(Oct) SelectCaseMid(Oct, i, 1) Case'0': b = b & '000'Case'1': b = b & '001'Case'2': b = b & '010'Case'3': b = b & '011'Case'4': b = b & '100'Case'5': b = b & '101'Case'6': b = b & '110'Case'7': b = b & '111'EndSelectNexti WhileLeft(b, 1) = '0'b = Right(b, Len(b) - 1) WendO2B = bEndFunction' 用途:将八进制转化为十六进制' 输入:Oct(八进制数)' 输入数据类型:String' 输出:O2H(十六进制数)' 输出数据类型:String' 输入的最大数为2147483647个字符PublicFunctionO2H(ByValOctAsString) AsStringDimBin AsStringBin = O2B(Oct) O2H = B2H(Bin)EndFunction' 用途:将十六进制转化为八进制' 输入:Hex(十六进制数)' 输入数据类型:String' 输出:H2O(八进制数)' 输出数据类型:String' 输入的最大数为2147483647个字符PublicFunctionH2O(ByValHexAsString) AsStringDimBin AsStringHex= UCase(Hex) Bin = H2B(Hex) H2O = B2O(Bin)EndFunction'====================================== =============='16进制转ASCFunctionH2A(InputData AsString) AsStringDimmydata mydata = Chr(Val('&H'& InputData)) H2A = mydata ExitFunctionEndFunction'10进制长整数转4位16进制字符串FunctionS2H(Num AsLong) AsStringDimmynum AsStringmynum = Hex(Num)IfLen(mynum) = 1 Thenmynum = '000'+ mynumIfLen(mynum) = 2 Thenmynum = '00'+ mynumIfLen(mynum) = 3 Thenmynum = '0'+ Left(mynum, 2) + Right(mynum, 1)IfLen(mynum) = 4 Thenmynum = Right(mynum, 2) + Left(mynum, 2) S2H = mynumEndFunction'10进制长整数转2位16进制字符串FunctionS2H2(Num AsLong) AsStringDimmynum AsStringmynum = Hex(Num)IfLen(mynum) = 1 Thenmynum = '0'+ mynum S2H2 = mynumEndFunction'ASCII字符串转16进制字符串PublicFunctionA2H(str AsString) AsStringDimstrlen AsIntegerDimi AsIntegerDimmystr AsStringmystr = ''strlen = Len(str)Fori = 1 Tostrlen Step1 mystr = mystr + Hex$(Asc(Mid(str, i, 1)))Nexti A2H = mystrEndFunction'====================================== ==============='进制反转'====================================== ==============='反16进制数转10进制数,共8位FunctionFHexToInt(ByValstr AsString) AsStringDimtext1 AsStringtext1 = str Dimtext2 AsStringtext2 = Mid(text1, 7, 2) Dimtext3 AsStringtext3 = Mid(text1, 5, 2) Dimtext4 AsStringtext4 = Mid(text1, 3, 2) Dimtext5 AsStringtext5 = Mid(text1, 1, 2) FHexToInt = Val('&H'& text2 & text3 & text4 & text5) ExitFunctionEndFunction'反16进制数转10进制数,共6位FunctionFHexToInt6(ByValstr AsString) AsStringDimtext1 AsStringtext1 = str Dimtext2 AsStringtext2 = Mid(text1, 5, 2) Dimtext4 AsStringtext3 = Mid(text1, 3, 2) Dimtext5 AsStringtext4 = Mid(text1, 1, 2) FHexToInt6 = Val('&H'& text2 & text3 & text4) ExitFunctionEndFunction'反16进制数转10进制数,共4位FunctionFHexToInt4(ByValstr AsString) AsStringDimtext1 AsStringtext1 = str Dimtext2 AsStringtext2 = Mid(text1, 3, 2) Dimtext4 AsStringtext3 = Mid(text1, 1, 2) FHexToInt4 = Val('&H'& text2 & text3) ExitFunctionEndFunction'10进制数转反16进制数,共8位FunctionIntT oFHex(ByValnums AsLong) AsStringDimtext1 AsString'text1 = Convert.T oString(nums, &H10)text1 = O2H(nums) If(Len(text1) = 1) Thentext1 = ('0000000'& text1) EndIfIf(Len(text1) = 2) Thentext1 = ('000000'& text1) EndIfIf(Len(text1) = 3) Thentext1 = ('00000'& text1) EndIfIf(Len(text1) = 4) Thentext1 = ('0000'& text1) EndIfIf(Len(text1) = 5) Thentext1 = ('000'& text1) EndIfIf(Len(text1) = 6) Thentext1 = ('00'& text1) EndIfIf(Len(text1) = 7) Thentext1 = ('0'& text1) EndIfDimtext2 AsStringtext2 = Mid(text1, 7, 2) Dimtext3 AsStringtext3 = Mid(text1, 5, 2) Dimtext4 AsStringtext4 = Mid(text1, 3, 2) Dimtext5 AsStringtext5 = Mid(text1, 1, 2) IntT oFHex = text2 & text3 & text4 & text5 ExitFunctionEndFunction'10进制数转反16进制数,共6位FunctionIntT oFHex6(ByValnums AsLong) AsStringDimtext1 AsStringtext1 = O2H(nums) If(Len(text1) = 1) Thentext1 = ('00000'& text1) EndIfIf(Len(text1) = 2) Thentext1 = ('0000'& text1) EndIfIf(Len(text1) = 3) Thentext1 = ('000'& text1) EndIfIf(Len(text1) = 4) Thentext1 = ('00'& text1) EndIfIf(Len(text1) = 5) Thentext1 = ('0'& text1) EndIfDimtext2 AsStringtext2 = Mid(text1, 5, 2) Dimtext3 AsStringtext3 = Mid(text1, 3, 2) Dimtext4 AsStringtext4 = Mid(text1, 1, 2) IntT oFHex6 = text2 & text3 & text4 ExitFunctionEndFunction'10进制数转反16进制数,共4位FunctionIntT oFHex4(ByValnums AsLong) AsStringDimtext1 AsStringtext1 = O2H(nums) If(Len(text1) = 1) Thentext1 = ('000'& text1) EndIfIf(Len(text1) = 2) Thentext1 = ('00'& text1) EndIfIf(Len(text1) = 3) Thentext1 = ('0'& text1) EndIfDimtext2 AsStringtext2 = Mid(text1, 3, 2) Dimtext3 AsStringtext3 = Mid(text1, 1, 2) IntT oFHex4 = text2 & text3 ExitFunctionEndFunction'====================================== ====PublicFunctionB2S(ByValstr AsByte) strto = ''Fori = 1 ToLenB(str) IfAscB(MidB(str, i, 1)) > 127 Thenstrto = strto & Chr(AscB(MidB(str, i, 1)) * 256 + AscB(MidB(str, i + 1, 1))) i = i + 1 Elsestrto = strto & Chr(AscB(MidB(str, i, 1))) EndIfNextB2S = strtoEndFunctionPublicFunctionV2H(ByValsHex AsString, OptionalbUnicode AsBoolean) DimsByte AsVariantDimbyChar() AsByteDimi AsLongsHex = Replace(sHex, vbCrLf, '') sByte = Split(sHex, ' ') ReDimbyChar(0 T oUBound(sByte)) AsByteFori = 0 ToUBound(sByte) byChar(i) = Val('&h'& sByte(i)) NextIfbUnicode ThenV2H = byChar ElseV2H = StrConv(byChar, vbUnicode) EndIfEndFunction'记录集转二进制流PublicFunctionR2B(rs AsRecordset) AsVariant'记录集转换为二进制数据DimobjStream AsStream SetobjStream = NewStream objStream.OpenobjStream.Type= adTypeBinary rs.Save objStream, adPersistADTG objStream.Position = 0 R2B = objStream.Read() SetobjStream = NothingEndFunction'ASCII码转二进制流PublicFunctionA2B(str AsString) AsVariantDima() AsByte, s AsStrings = str a = StrConv(s, vbFromUnicode) '字符串转换为byte型'a 是byte数组,你可以在程序中调用,但不能在textbox中显示。
VB常用函数用法详解
VB常用函数用法详解VB函数数学函数(1)A bs 函数语法:Abs(number)绝对值返回一数值的绝对值。
参数 number 可以是任何数值表达式。
如果 number 的值为 Null,则返回Null;如果其参数是没有初始值的变数,则返回0。
注解:一个数值的绝对值就是将正负号去掉以后的值。
例如Abs(-1) 和 Ab s(1) 的返回值都是1。
(2)A tn 函数语法:Atn(number) 反正切该函数返回参数的「反正切」(arctangent) 值。
参数 number 可以是任何有效的数值表达式。
注解:Atn 函数的参数(number) 是直角三角形中构成直角两边的比值(正切函数值),其返回值则为相对应之底角的度数,以「弧度」为单位。
正切函数值(number) 的算法为「对边除以邻边」。
返回值的范围落在 pi/2 到 pi/2 的「弧度」之间。
「角度」与「弧度」的转换方法为:将「角度」乘以 pi/180 即为「弧度」。
反过来将「弧度」乘以180/pi 便得「角度」。
(3)C os 函数余弦函数语法:Cos(number)该函数返回一角度的 cosine (余弦函数)值。
参数 number 可以是任何有效的数值表达式,其值代表一个角度,以「弧度」为单位。
注解:Cos 函数的参数表示角度,返回值为该角度两邻边的比值。
其比值的定义为「连接另一锐角的邻边除以连接直角的邻边」。
返回值的范围在 -1 到 1 之间。
(4)E xp 函数语法:Exp(number) 自然对数之底数该函数返回 e(自然对数之底数)的某次方。
参数 number 可以是任何的数值表达式。
(5)L og 函数自然对数值语法:返回参数的自然对数值。
Log(number)参数number可以是任何的数值表达式,条件是参数值必须大于0。
注解:自然对数是以 e 为底数的对数。
常数 e 的值大约是2.718282。
VB函数(6)R nd 函数随机数语法:Rnd[(number)]返回一个随机数。
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.52. Cos(N) 余弦函数例:Cos(0) 结果:13. Exp(N) e为底的指数函数例:Exp(3) 结果:20.0684. Log(N) 以e为底的自然对数例:Log(10) 结果:2.35. Rnd[(N) 产生随机数例:Rnd 结果:0--1之间的数6. Sin(N) 正弦函数例:Sin(0) 结果:07. Sgn(N) 符号函数' 说明:取正负号。
VBA字符串函数转换函数
VBA字符串函数转换函数VBA 字符串函数&转换函数1,vba字符串函数列表:Trim(string) 去掉string左右两端空白Ltrim(string) 去掉string左端空白Rtrim(string) 去掉string右端空白Len(string) 计算string长度Left(string, x) 取string左段x个字符组成的字符串Right(string, x) 取string右段x个字符组成的字符串Mid(string, start,x) 取string从start位开始的x个字符组成的字符串Ucase(string) 转换为大写Lcase(string) 转换为小写Space(x) 返回x个空白的字符串Asc(string) 返回一个integer,代表字符串中首字母的字符代码Chr(charcode) 返回string,其中包含有与指定的字符代码相关的字符2,VBA转换函数列表:CBool(expression) 转换为Boolean型CByte(expression) 转换为Byte型CCur(expression) 转换为Currency型CDate(expression) 转换为Date型CDbl(expression) 转换为Double型CDec(expression) 转换为Decemal型CInt(expression) 转换为Integer型CLng(expression) 转换为Long型CSng(expression) 转换为Single型CStr(expression) 转换为String型CVar(expression) 转换为Variant型Val(string) 转换为数据型Str(number) 转换为String3,VBA时间函数:Now 返回一个Variant (Date),根据计算机系统设置的日期和时间来指定日期和时间。
Date 返回包含系统日期的Variant (Date)。
VB实现2进制与10进制转换
VB实现2进制与10进制转换分类:电脑/网络 >> 程序设计 >> 其他编程语言问题描述:代码和解释初学者谢谢大家了!解析:Private Sub Command1_Click()Print tenTOo(1000)End SubPrivate Sub Command2_Click()Print oTOten("***********")End SubFunction tenTOo(n As Integer) As StringDim S As StringS = ""Do While n <> 0 '从1至n,按照“逢2进1”法则计算,一直到转换完毕a = n Mod 2 '可以理解为二进制字符串的最后一位的数字,0或1n = n \ 2 '这是整除,只取结果的整数部分,小数部分不取。
是求“进1”之后所剩的尚待进行转换的整数部分S = Chr(48 + a) & S '这里说不清楚了,你意会吧,靠你自己了。
Chr(48)是数字字符0,如果a=1则为Chr(48+1),即数字符1 LooptenTOo = SEnd FunctionFunction oTOten(S As String) As IntegerDim n As Integern = Val(Mid(S, 1, 1)) '取出第一位的1以备进入循环第一轮时用For i = 2 T o Len(S) '从二进制字符串的第二位开始(第一位已取出)至最后一位,分别取出1个数字进行计算n = n * 2 + Val(Mid(S, i, 1)) '按照“逢2进1”的法则倒转过来计算Next ioTOten = nEnd Function分页:123。
VB常用数据类型转换小议
VB常用数据类型转换小议常用数据类型转换小议常用数据类型转换小议常用数据类型转换小议关键词关键词关键词关键词:数据类型转换A数值类型可以自由转换为字符类型,转化规则:数值变为数字字符串。
B 通常只有数字构成的字符串可以转换为数值类型,但是如果数字中含有字符d或者D或者e或者E的,并且符合科学计数法的,也是可以转换的;另外要注意有无四舍五入。
举例:Private Sub Command1_Click()Dim str1 As Stringstr1 = "3.1234e2"Dim i As Singlei = str1Print iDim j As Integerj = str1Print jstr1 = "3.125d2"j = str1Print jstr1 = "3.135d2"j = str1Print jEnd Sub输出结果:312.34 312312314注意:VB中的四舍五入,实际上是:四舍六入五凑奇(即:当小数点后第一位为5时,是否进位,取决于小数点前一位,如果这一位为奇数,则进位;如果为偶数则不进位。
)C 仅有”true”或者”false”字符串可以转换为布尔型,不论”true”或者”false”大小写情况如何,将统一变为:True或者False。
Private Sub Command1_Click()Dim str1 As Stringstr1 = "tRue "Dim b As Booleanb = str1Print bEnd Sub输出结果:TrueD 布尔型量可以自由转换为字符类型。
转换规则:True变为”True”;False变为”False”。
E 布尔型量可以自由转换为数值类型。
转换规则:True变为-1;False变为0。
Private Sub Command1_Click()Dim b As Boolean'b默认为falseDim i As Integeri = bPrint ii = Not bPrint iEnd Sub输出结果:-1F 数值类型可以自由转换为布尔类型。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Long
-9223372036854775.808至9223372036854775.807;允许分数,小数部分采取四舍五入的原则
CObj
Object
任何合法的表达式
CShort
Short
-32768至32767;允许分数,小数部分采取四舍五入的原则
CSng
Single
负数为-3.402823E38到-1.401298E-45;
strDate=CStr(DateAndTime.Now)
下表列出了常用的类型转换函数:
l
Boolean
任何字符串及数字类型
CByte
Byte
0到255
CChar
Char
0到65535
CDate
Date
任何合法的日期及时间
CDb1
Double
负数为-1.79769313486231E308到-4.94065645841247E-324;
程序设计过程中经常会遇到不同数据类型之间的转换,比如说要将“Date”类型显示在文本框中,必须先进行类型转换,将其转换为“string”类型。虽然Visual Basic本身能进行一定的类型转换,但这种转换是有限制的,而且这种隐含的类型转换存在不稳定的因素,对程序的可读性、可维护性都有一定的影响。因此Visual Basic提供了一定的类型转换函数,例如用“CStr”函数将操作数转换成“String”:
正数为1.401298E-45到3.402823E38
CStr
String
可以是“Boolean”类型,返回“True”或“False”;也可以是“Date”类型,返回日期的缩写形式;或者是数字类型,返回代表这个数字的字符串。
正数为4.94065645841247E-324到1.79769313486231E308
CDec
Decimal
无小数点的整数范围是-79228162514264337593543950335到79228162514264337593543950335
CInt
Integer
从-2147483.648至2147483.648;允许分数,小数部分采取四舍五入的原则