数据类型转换

每种编程语言都定义数据的特定类型和容器。 其中大多数数据类型(尤其是基元)很容易映射到其他编程语言。 但是,某些数据类型在其他语言中没有等效项,无法转换。

有关编程语言无法识别的数据类型的特定信息,请参阅以下主题:

下表列出了常见数据类型的编程语言之间的转换。

C++ Visual Basic Java Contains
带符号字符
不支持
byte
1 字节有符号整数
(VT_I1, [T])
unsigned char
Byte
不支持
1 字节无符号整数
(VT_UI1, [V][T][P][S])
unsigned char
字符
char
2 字节 Unicode 字符
(VT_UI2, [T][P])
short
整数
short
2 字节有符号整数
(VT_I2, [V][T][P][S])
unsigned short
不支持
不支持
2 字节无符号整数
(VT_UI2, [T][P])
int
Long
int
4 字节有符号整数
(VT_I4, [V][T][P][S])
unsigned int
不支持
不支持
4 字节无符号整数
(VT_UI4, [T][P])
__int64
不支持
long
8 字节有符号整数
(VT_I8, [T][P])
unsigned __int64
不支持
不支持
8 字节无符号整数
(VT_UI8, [T][P])
float
单精度
float
4 字节浮点数
(VT_R4, [V][T][P][S])
double
双精度
double
8 字节浮点数
(VT_R8, [V][T][P][S])
BSTR
字符串
java.lang.String
自动化字符串
(VT_BSTR, [V][T][P][S])
BOOL
布尔值
boolean
布尔
(VT_BOOL, [V][T][P][S])
VARIANT
变量
com.ms.com.Variant
VARIANT FAR*
(VT_VARIANT, [V][T][P][S])
IUnknown
object
com.ms.com.IUnknown
IDispatch 接口指针
(VT_DISPATCH, [V][T][P][S])
DATE
日期
com.ms.com.Variant
日期
(VT_DATE, [V][T][P][S])
CURRENCY
货币
com.ms.com.Variant
货币
(VT_CY, [V][T][P][S] 或 VT_DECIMAL, [V][T][S])

有关 VARTYPE 值及其用法的信息,请参阅主题 IDispatch 数据类型和结构

脚本语言之间的数据类型转换比编程语言的数据类型转换更简单。 JScript 和 JavaScript 都支持相同的数据类型,VBScript 仅支持单个数据类型 Variant。 因此,转换为 VBScript 时,所有 JScript 和 JavaScript 数据类型都会成为 Variant 类型。 将 VBScript 转换为 JScript 或 JavaScript 时,Variant 类型将成为数字、字符串、布尔值等。