整數資料類型 (Visual Basic)
保存帶正負號的 32 位元 (4 位元組) 整數,值的範圍從 -2,147,483,648 到 2,147,483,647。
備註
Integer
資料類型可對 32 位元處理器提供最佳效能。 其他整數類資料類型在記憶體中載入和儲存的速度較慢。
Integer
的預設值為 0。
常值指派
您可以針對 Integer
變數指派十進位常值、十六進位常值、八進位常值或二進位常值 (自 Visual Basic 2017 起),以將其宣告和初始化。 如果整數常值超出 Integer
的範圍 (亦即,如果小於 Int32.MinValue 或大於 Int32.MaxValue),就會發生編譯錯誤。
在下列範例中,以十進位、十六進位和二進位常值表示的 90,946 整數,會指派給 Integer
值。
Dim intValue1 As Integer = 90946
Console.WriteLine(intValue1)
Dim intValue2 As Integer = &H16342
Console.WriteLine(intValue2)
Dim intValue3 As Integer = &B0001_0110_0011_0100_0010
Console.WriteLine(intValue3)
' The example displays the following output:
' 90946
' 90946
' 90946
注意
您可以使用 &h
或 &H
前置詞來表示十六進位常值,以 &b
或 &B
前置詞來表示二進位常值,以 &o
或 &O
前置詞來表示八進位常值。 十進位常值沒有前置詞。
自 Visual Basic 2017 開始,您也可以使用底線字元 (_
) 作為數字分隔符號,以提升可讀性,如下列範例所示。
Dim intValue1 As Integer = 90_946
Console.WriteLine(intValue1)
Dim intValue2 As Integer = &H0001_6342
Console.WriteLine(intValue2)
Dim intValue3 As Integer = &B0001_0110_0011_0100_0010
Console.WriteLine(intValue3)
' The example displays the following output:
' 90946
' 90946
' 90946
從 Visual Basic 15.5 開始,您也可以使用底線字元 (_
) 作為前置字元與十六進位、二進位或八進位數字之間的前置分隔符號。 例如:
Dim number As Integer = &H_C305_F860
若要使用底線字元作為前置分隔符號,您必須將下列項目新增至 Visual Basic 專案 (*.vbproj) 檔:
<PropertyGroup>
<LangVersion>15.5</LangVersion>
</PropertyGroup>
如需詳細資訊,請參閱選取 Visual Basic 語言版本。
數值常值也可包含I
類型字元來表示 Integer
資料類型,如下列範例所示。
Dim number = &H_035826I
程式設計提示
Interop 考量。 如果您要使用的元件不是針對 .NET Framework 所撰寫 (例如 Automation 或 COM 物件),請記住,
Integer
在其他環境中會有不同的資料寬度 (16 位元)。 如果您要將 16 位元引數傳遞至這類元件,請在新的 Visual Basic 程式碼中將它宣告為Short
,而不是Integer
。擴展。
Integer
資料類型可擴展為Long
、Decimal
、Single
或Double
。 這表示,您可以將Integer
轉換成這些類型的任何一種,而不會發生 System.OverflowException 錯誤。型別字元。 將常值類型字元
I
附加到常值,會強制其成為Integer
資料類型。 將識別項類型字元%
附加到任何識別項,會強制其成為Integer
。Framework 型別。 在 .NET Framework 中對應的類型為 System.Int32 結構。
範圍
如果您嘗試將整數類資料類型的變數設定為超出該類型範圍的數字,則會發生錯誤。 如果您嘗試將它設定為分數,則數字就會四捨五入為最接近的整數值。 如果數字與兩個整數值同樣接近,則該直將會四捨五入為最接近的雙數。 這種行為會將一致四捨五入單向中點值得出的四捨五入錯誤降至最低。 下列程式碼將示範四捨五入的範例。
' The valid range of an Integer variable is -2147483648 through +2147483647.
Dim k As Integer
' The following statement causes an error because the value is too large.
k = 2147483648
' The following statement sets k to 6.
k = 5.9
' The following statement sets k to 4
k = 4.5
' The following statement sets k to 6
' Note, Visual Basic uses banker’s rounding (toward nearest even number)
k = 5.5