2011-09-28 49 views
-1

我想将一个long转换为一个整数。我相信long的值足够低以适应整数范围。VB6将长转换为整数抛出溢出

我的代码:

'mapdc is a long 
Debug.Print mapdc 
Debug.Print CInt(mapdc) 

第一线运行正常。它输出1107367444. 然而,第二行发生溢出错误。

任何想法? 谢谢!!!!

+0

奇怪的问题要问,这是非常基础的。没有涉及“铸造”,只有转换。所以这被标记错误。 – Bob77

回答

7

A VB6 Integer数据类型是16位。导致溢出:mapdc的值大于32,767,它落在Integer变量支持的值范围之外。有关VB6数据类型的更多信息,请参阅this MSDN page

+1

+1这是VB6和VBA数据类型的MSDN页面http://msdn.microsoft.com/zh-cn/library/aa263420(v=vs.60).aspx – MarkJ

+0

@MarkJ - 感谢您的链接。我将它添加到我的anwser。 –

3

诠释在VB6是16位(范围为 - 32,768至32,767)。 This link提供了VB6与.Net等效的比较