显式类型转换,又叫强制类型转换。与隐式转换正好相反,显式转换需要用户明确地指定转换的类型。
在vb.net机房收费系统中遇到数据转换问题,如下需要将查询到的dataTable数据中的"cash"字段值转换成single类型,这里用到的CType函数解决了这个问题。
enLineLog.cash = CType(Val(dt.Rows(0)("cash").ToString()),Single)
CType函数
CType 函数作用于两个参数。第一个参数是将要转换的表达式,第二个参数是目标数据类型或对象类。需要注意,第一个参数必须是表达式,不能是类型。
vb.net中的数据类型转换不经提供了CType一种方式,再看MSDN中的所有类型转换,vB.NET通过这些关键字强制把括号中的表达式转换为目标类型。
|
类型转换关键字 |
将表达式转换为数据类型 |
允许的要进行转换的表达式数据类型 |
|
CBool |
Boolean 数据类型 (Visual Basic) |
任何数值类型(包括 Byte、SByte 和枚举类型)、String、Object |
|
CByte |
Byte 数据类型 (Visual Basic) |
任何数值类型(包括 SByte 和枚举类型)、Boolean、String、Object |
|
CChar |
Char 数据类型 (Visual Basic) |
String, Object |
|
CDate |
Date 数据类型 (Visual Basic) |
String, Object |
|
CDbl |
Double 数据类型 (Visual Basic) |
任何数值类型(包括 Byte、SByte 和枚举类型)、Boolean、String、Object |
|
CDec |
Decimal 数据类型 (Visual Basic) |
任何数值类型(包括 Byte、SByte 和枚举类型)、Boolean、String、Object |
|
CInt |
Integer 数据类型 (Visual Basic) |
任何数值类型(包括 Byte、SByte 和枚举类型)、Boolean、String、Object |
|
CLng |
Long 数据类型 (Visual Basic) |
任何数值类型(包括 Byte、SByte 和枚举类型)、Boolean、String、Object |
|
CObj |
Object 数据类型 |
任何类型 |
|
CSByte |
SByte 数据类型 (Visual Basic) |
任何数值类型(包括 Byte 和枚举类型)、Boolean、String、Object |
|
CShort |
Short 数据类型 (Visual Basic) |
任何数值类型(包括 Byte、SByte 和枚举类型)、Boolean、String、Object |
|
CSng |
Single 数据类型 (Visual Basic) |
任何数值类型(包括 Byte、SByte 和枚举类型)、Boolean、String、Object |
|
CStr |
String 数据类型 (Visual Basic) |
任何数值类型(包括 Byte, SByte 和枚举类型)、Boolean、Char、Char 数组、Date、Object |
|
CType |
逗号 (,) 后面指定的类型 |
当转换为“基本数据类型”(包括基本类型数组)时,相应转换关键字所允许的相同类型 当转换为“复合数据类型”时,其实现的接口和继承的类 当转换为一个已经在其上重载 CType 的类或结构时,该类或结构 |
|
CUInt |
UInteger 数据类型 |
任何数值类型(包括 Byte、SByte 和枚举类型)、Boolean、String、Object |
|
CULng |
ULong 数据类型 (Visual Basic) |
任何数值类型(包括 Byte、SByte 和枚举类型)、Boolean、String、Object |
|
CUShort |
UShort 数据类型 (Visual Basic) |
任何数值类型(包括 Byte、SByte 和枚举类型)、Boolean、String、Object |
405





