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。
例外狀況
例外狀況類型 |
錯誤代碼 |
條件 |
---|---|---|
未指定 Number。 |
||
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 中)