将某种类型数据转换为下表的目标类型数据总结:

举例:


目标类型

转换函数

值后类型符

变量后类型符

Conversion函数

NET转换方法

Boolean

Cbool()

Convert.ToBoolean()

Char

CChar()

C

Convert.ToChar()

String

CStr()

$


Date

CDate()

Convert.ToDateTime()

Byte

CByte()

Convert.ToByte()

SByte

CSByte()


Convert.ToSByte()

Short

CShort()

S

Int/Fix(Short)

Convert.ToInt16()

UShort

CUShort()

US

Convert.ToUInt16()

Integer

CInt()

I

%

Int/Fix(Integer)

Convert.ToInt32()

UInteger

CUInt()

UI

Convert.ToUInt32()

Long

CLng()

L

&

Int/Fix(Long)

Convert.ToInt64()

ULong

CULng()

UL

Convert.ToUInt64()

Decimal

CDec()

D

@

Int/Fix(Decimal)

Convert.ToDecimal()

Single

CSng()

F

Int/Fix(Single)

Convert.ToSingle()

Double

CDble()

R

#

Int/Fix(Double)

Convert.ToDouble()

Object

CObj()

Int/Fix(Object)

1、取整函数

(1)整型转换函数是将小数部分四舍五入掉,使被转换的数值转变为其最接近的整数值。注意:如果小数部分正好是0.5,CInt和CLng会四舍五入到最接近的偶数值。如:CInt(0.5)结果为0,CLng(4.5)结果为4,CInt(7.5)结果为8,CLng(14.7)结果为15。

(2)Fix和Int函数不四舍五入,直接删除小数部分,取得整数值部分。Fix的取值方向趋向0,如:Fix(-9.9)结果为-9,Fix(-9.2)结果为-9,Fix(-0.9)结果为0。但Int函数在取负数小数的整数时,会取比当前数值小的整数部分,如:Int(-9.9)结果为-10,(-9.2)结果为-10。所以,当负数小数部分大于0.5时,CInt相当于Int。

(3)CInt返回值为Integer类型,CLng返回值为Long类型;而Fix和Int返回值与被转换的数值类型一致。

2、CType、DirectCast、TryCast(被转换数据,要转换到的数据类型X

      三个函数均返回数据类型X,但DirectCast和TryCast所转换数据必须继承自或实现数据类型X,否则DirectCast会发生InvalidCastException错误,而TryCast会返回Nothing。DirectCast可以接值类型(已过时)或引用类型,而TryCast只接引用类型。

Dim q As Object=2.37
Dim i As Integer=CType(q,Integer)
'以下转换会发生错误
Dim j As Integer=DirectCast(q,Integer)
Dim f As New System.Windows.Forms.Form
Dim c As System.Windows.Forms.Control
'以下转换成功
c=DirectCast(f,System.Windows.Forms.Control)

3、Parse和ToString

      基础数据类型(除String外)的Parse方法将字符数据转换为该类型。Parse在对字符数据进行转型时比CType,CDate等要快。例:

Dim rq as Date
rq=Date.Parse("3-4-1999)

       变量名.ToString()将变量的值转换为文本。ToString可以带有一个格式化文本的字符参数,如:

Dim s As Double,str As String
s=455454454
str=s.ToString("0.00") ‘str显示结果为455454454.00

4、Convert类

      Convert类提供了许多方法:ToBool,ToByte,ToChar,ToDateTime,ToDecimal,ToDouble,ToSByte,ToSingle,ToString,用来将一个值转换为另一种类型的值。Convert为NET框架类,所以在把数据转换为整型数值时,它使用的是ToInt16、ToInt32、ToInt64、ToUInt16、ToUInt32、ToUInt64方法,而不是ToInt,ToShort,ToLong。如:

Dim i As Integer=Convert.ToInt64("23") 
Dim s As Boolen=Convert.ToBoolen(3)

5、转换类型符中非字母类型符只能用于变量名后,字母类型符(可用大写也可用小写)只能用于数值后边,例如:

Dim c1 As Char = "我"C
Dim c2$ = "我"

(更多语法基础知识见本人的视频课程《VB .NET 编程语法知识 ( Visual Basic 2022 )》)