Share via


Int, Fix 函式 (Visual Basic)

更新:2007 年 11 月

傳回數字的整數部分。

Public Shared Function Int( _
    ByVal Number As { Double | Integer | Long | Object | Short | Single | Decimal }) _
    As { Double | Integer | Long | Object | Short | Single | Decimal }
Public Shared Function Fix( _
    ByVal Number As { Double | Integer | Long | Object | Short | Single | Decimal }) _
    As { Double | Integer | Long | Object | Short | Single | Decimal }

參數

  • Number
    必要項。Double 型別的數字,或是任何有效的數值運算式。如果 Number 中包含 Nothing,將傳回 Nothing。

例外狀況

例外狀況類型

錯誤代碼

條件

ArgumentNullException

5

未指定 Number。

ArgumentException

5

Number 不是數字型別 (Numeric Type)。

如果將使用非結構化錯誤處理的 Visual Basic 6.0 應用程式升級,請參閱「錯誤代碼」資料行 (您可以將錯誤代碼與 Number 屬性 (Err 物件) 比對)。但是,請盡可能考慮以 Visual Basic 的結構化例外處理概觀 取代這類錯誤控制項。

備註

Int 和 Fix 函式都會移除 Number 的小數部分,並傳回結果的整數值。

Int 和 Fix 函式間的差異在於如果 Number 是負數,Int 會傳回小於或等於 Number 的第一個負整數,而 Fix 卻會傳回大於或等於 Number 的第一個負整數。例如,Int 會將 -8.4 轉換為 -9,Fix 則是將 -8.4 轉換為 -8。

Fix(number) 相當於Sign(number) * Int(Abs(number)).

範例

這個範例會說明 Int 和 Fix 函式如何傳回數字的整數部分。在引數為負數的情況下,Int 函式會傳回小於或等於引數的第一個負整數,Fix 函式則會傳回大於或等於引數的第一個負整數。下列範例需要您指定 Option Strict Off,因為在 Option Strict On 的情況下不允許從型別 Double 到型別 Integer 的隱含轉換:

' This code requires Option Strict Off
Dim MyNumber As Integer
MyNumber = Int(99.8)   ' Returns 99.
MyNumber = Fix(99.8)   ' Returns 99.

MyNumber = Int(-99.8)  ' Returns -100.
MyNumber = Fix(-99.8)  ' Returns -99.

MyNumber = Int(-99.2)  ' Returns -100.
MyNumber = Fix(-99.2)  ' Returns -99.

在 Option Strict Off 的情況下,您可以使用 CInt 函式,將其他資料型別明確轉換為型別 Integer。不過,CInt 會將值捨入為最接近的整數,而不是截斷數字的分數部分。例如:

MyNumber = CInt(99.8)    ' Returns 100.
MyNumber = CInt(-99.8)   ' Returns -100.
MyNumber = CInt(-99.2)   ' Returns -99.

您可以先呼叫 Fix 或 Int,然後在結果中使用 CInt 函式,這樣就可明確地轉換為整數而不需捨入。例如:

MyNumber = CInt(Fix(99.8))   ' Returns 99.
MyNumber = CInt(Int(99.8))   ' Returns 99.

如需 CInt 的詳細資訊,請參閱型別轉換函式

需求

命名空間 (Namespace)︰Microsoft.VisualBasic

**模組︰**Conversion

組件 (Assembly):Visual Basic Runtime Library (在 Microsoft.VisualBasic.dll 中)

請參閱

參考

型別轉換函式

Integer 資料型別 (Visual Basic)

數學摘要

數學函式 (Visual Basic)

轉換摘要

ArgumentNullException