将某种类型数据转换为下表的目标类型数据总结:
举例:
目标类型
转换函数
值后类型符
变量后类型符
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 )》)
【转自:东台网页开发 http://www.1234xp.com/dongtai.html 欢迎留下您的宝贵建议】