2011-09-28 63 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等效的比較