什么是VB.NET的Visual Basic 6中的CType的演员表达式?
很多海报似乎都误解了这个问题,所以我会尝试通过改写问题并总结到目前为止给出的正确答案来直截了当.
我想将一种类型的数据转换为另一种类型.在我的VB.NET代码中,我
CType
会这样做.但是,当我尝试CType
在VB6中使用时,我得到一个"Sub或Function not defined"错误.那么,如果CType
不起作用,如何在VB6中执行强制转换呢?
正如您可能已经发现的那样,VB6没有CType
像VB.NET那样的功能.但是,C
你可能在VB.NET代码中遇到过的其他转换函数(那些以名称开头的函数),例如CInt和CStr,确实存在于VB6中,你可以使用它们转换为非对象和从非对象转换类型.没有用于将一个类的对象转换为另一个类的对象的内置函数.请记住,与VB.NET不同,VB6不支持继承.VB6中的类可以实现一个或多个接口,但它不能从另一个类继承.但是,如果对象的类实现了多个接口,则可以使用该Set
语句将对象强制转换为它支持的接口之一(如Ant所建议的那样).下面提供了Ant的代码示例的扩展版本:
示例:将类转换为其支持的接口之一
Dim base As BaseClass Dim child As ChildClass 'implements BaseClass' Set child = New ChildClass Set base = child '"Cast" child to BaseClass'
下面是VB6中可用的内置转换函数的完整列表,直接来自VB6帮助文件.
CBool将
返回
Boolean
描述
将表达式转换为Boolean.
表达式参数的范围:
任何有效的字符串或数字表达式
CByte
返回
Byte
描述
将表达式转换为字节.
表达式参数的范围:
0到255.
CCur函数
返回
Currency
描述
将表达式转换为货币.
表达式参数的范围:
-922,337,203,685,477.5808至922,337,203,685,477.5807.
CDATE
返回
Date
描述
将表达式转换为Date.
表达式参数的范围:
任何有效的日期表达.
CDbl
返回
Double
描述
将表达式转换为Double.
表达式参数的范围:
-1.79769313486232E308至-4.94065645841247E-324为负值; 4.94065645841247E-324至1.79769313486232E308为正值.
CDEC
返回
Decimal
描述
将表达式转换为Decimal.
表达式参数的范围:
零级数字的+/- 79,228,162,514,264,337,593,543,950,335,即没有小数位的数字.对于小数点后28位的数字,范围为+/- 7.9228162514264337593543950335.最小可能的非零数字是0.0000000000000000000000000001.
CINT
返回
Integer
描述
将表达式转换为Long.
表达式参数的范围:
-32,768至32,767; 分数是圆的.
CLng函数
返回
Long
描述
将表达式转换为Long.
表达式参数的范围:
-2,147,483,648至2,147,483,647; 分数是圆的.
CSng函数
返回
Single
描述
将表达式转换为Single.
表达式参数的范围:
负值为-3.402823E38至-1.401298E-45; 1.401298E-45至3.402823E38为正值.
CStr的
返回
String
描述
将表达式转换为String.
表达式参数的范围:
CStr的返回值取决于表达式参数.
CVAR
返回
Variant
描述
将表达式转换为Variant.
表达式参数的范围:
与数字相同的范围.与非数字相同的范围.
根据您投射的类型,有很多种
cint() Cast to integer cstr() cast to string clng() cast to long cdbl() cast to double cdate() cast to date
它也有隐式转换,所以你可以这样做myString = myInt