數字資料類型 (Visual Basic)
Visual Basic 提供幾種「數值資料類型」來處理各種表示中的數字。 「整數」類型只代表整數 (正數、負數和零),而「非整數」類型則代表具有整數和小數部分的數字。
如需顯示 Visual Basic 資料類型並排比較的表格,請參閱資料類型。
整數數值類型
「整數數值類型」是只代表沒有小數部分之數字的資料類型。
「帶正負號」的整數資料類型包括 SByte 資料類型 (8 位元)、Short 資料類型 (16 位元)、Integer 資料類型 (32 位元) 和 Long 資料類型 (64 位元)。 如果變數一律會儲存整數而非小數,請將其宣告為上述其中一種類型。
「不帶正負號」的整數型別包括 Byte 資料類型 (8 位元)、UShort 資料類型 (16 位元)、UInteger 資料類型 (32 位元) 和 ULong 資料類型 (64 位元)。 如果變數包含二進位資料或未知性質的資料,請將其宣告為上述其中一種類型。
效能
整數型別的算數運算比其他資料類型更快。 這些運算在 Visual Basic 中使用 Integer
和 UInteger
類型的速度最快。
大型整數
如果需要保留大於 Integer
資料類型所能保留的整數,您可以改用 Long
資料類型。 Long
變數可以保留 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 的數字。 Long
的運算比 Integer
稍微慢一些。
如果需要更大的值,您可以使用 Decimal 資料類型。 如果不使用任何小數位數,您可以在 Decimal
變數中保留 -79,228,162,514,264,337,593,543,950,335 到 79,228,162,514,264,337,593,543,950,335 的數字。 不過,Decimal
數字的運算比任何其他數值資料類型慢很多。
小型整數
如果不需要 Integer
資料類型的完整範圍,您可以使用 Short
資料類型,其可保留 -32,768 到 32,767 的整數。 針對最小整數範圍,SByte
資料類型可以保留 -128 到 127 的整數。 如果有非常大量的變數需要保留小型整數,Common Language Runtime 有時可以更有效率地儲存 Short
和 SByte
變數,並節省記憶體耗用量。 不過,Short
和 SByte
的運算比 Integer
稍微慢一些。
不帶正負號的整數
如果確定變數絕不需要保留負數,您可以使用「不帶正負號的類型」,像是 Byte
、UShort
、UInteger
和 ULong
。 上述每種資料類型所能保留的正整數,比其對應的帶正負號類型 (SByte
、Short
、Integer
和 Long
) 大兩倍。 就效能而言,每種不帶正負號的類型都與其對應的帶正負號類型一樣有效率。 特別是,UInteger
和 Integer
同樣是所有基礎數值資料類型中最有效率的資料類型。
非整數數值類型
「非整數資料類型」是代表具有整數和小數部分之數字的資料類型。
非整數數值資料類型包括 Decimal
(128 位元定點數)、Single 資料類型 (32 位元浮點數) 和 Double 資料類型 (64 位元浮點數)。 這些全都是帶正負號的類型。 如果變數可以包含小數,請將其宣告為上述其中一種類型。
Decimal
不是浮點數資料類型。 Decimal
數字具有二進位整數值和整數縮放比例,可指定值的哪個部分是十進位小數。
您可以針對金額值使用 Decimal
變數。 其優點是值的精確度。 Double
資料類型較快,且需要較少的記憶體,但可能會發生進位誤差。 Decimal
資料類型可以保留 28 個小數位數的完整精確度。
浮點數 (Single
和 Double
) 的範圍比 Decimal
數字大,但可能會發生進位誤差。 浮點數類型支援比 Decimal
較少的有效位數,但可以代表更大量級的值。
非整數數值可以表示為 mmmEeee,其中 mmm 是「尾數」(有效位數),而 eee 是「指數」(10 的乘冪)。 非整數類型的最高正值如下:若是 Decimal
,則為 7.9228162514264337593543950335E+28;若是 Single
,則為 3.4028235E+38;若是 Double
,則為 1.79769313486231570E+308。
效能
Double
是最有效率的小數資料類型,因為目前平台上的處理器會以雙精確度執行浮點數運算。 不過,Double
的運算速度不如 Integer
之類的整數型別。
小型量級
對於具有最小可能量級 (最接近 0) 的數字,Double
變數可以保留最小到 -4.94065645841246544E-324 (負值) 和 4.94065645841246544E-324 (正值)。
小型小數
如果不需要 Double
資料類型的完整範圍,您可以使用 Single
資料類型,其可保留-3.4028235E+38 到 3.4028235E+38 的浮點數。 Single
變數的最小量級為 -1.401298E-45 (負值) 和 1.401298E-45 (正值)。 如果有非常大量的變數需要保留小型浮點數,Common Language Runtime 有時可以更有效率地儲存 Single
變數,並節省記憶體耗用量。