数据类型转换
每种编程语言都定义数据的特定类型和容器。 其中大多数数据类型(尤其是基元)很容易映射到其他编程语言。 但是,某些数据类型在其他语言中没有等效项,无法转换。
有关编程语言无法识别的数据类型的特定信息,请参阅以下主题:
下表列出了常见数据类型的编程语言之间的转换。
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 类型将成为数字、字符串、布尔值等。