VB6将Long转换为Integer抛出溢出

gbe*_*927 -1 vb6 integer casting long-integer

我试图将long转换为整数.我相信long的值足够低以适应整数范围.

我有代码:

'mapdc is a long
Debug.Print mapdc
Debug.Print CInt(mapdc)
Run Code Online (Sandbox Code Playgroud)

第一行运行良好.它输出1107367444.然而,第二行导致发生溢出错误.

有任何想法吗?谢谢!!!!

Sha*_*lti 7

VB6 Integer数据类型是16位.导致溢出:值mapdc大于超出32,767Integer变量支持的值范围的值.有关VB6数据类型的更多信息,请参阅此MSDN页面.


Jus*_*ner 5

VB6 Integer类型的范围是-32,768到32,767.显然,您的值超出了该范围并溢出.

数据类型 - VB 6教程

MSDN确认VB6 Integer对应于具有相同范围的Int16的.NET类型:

Visual Basic 6.0用户的整数数据类型