我正在尝试将long转换为整数。我相信long的值足够低以适应整数范围。
我有代码:
'mapdc is a long
Debug.Print mapdc
Debug.Print CInt(mapdc)
第一行运行良好。它输出1107367444。 但是第二行会导致溢出错误。
有什么想法吗? 致谢!!!!
答案 0 :(得分:7)
VB6 Integer
数据类型是16位。导致溢出:mapdc
的值大于32,767
,它超出了Integer变量支持的值范围。有关VB6数据类型的更多信息,请参阅this MSDN page。
答案 1 :(得分:5)
VB6 Integer类型的范围是-32,768到32,767。显然,你的价值超出了这个范围而且溢出了。
MSDN确认VB6 Integer对应于具有相同范围的Int16的.NET类型:
答案 2 :(得分:3)
VB6中的Int是16位(范围从-32,768到32,767)。 This link提供了VB6与.Net等价物之间的比较