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 が数値型ではありません。 |
非構造化エラー処理を使用する Visual Basic 6.0 アプリケーションをアップグレードする場合は、"エラー番号" の列を参照してください(エラー番号を Number プロパティ (Err オブジェクト) と比較することもできます)。ただし、可能であれば、このようなエラー制御は Visual Basic の構造化例外処理の概要 に置き換えることを検討してください。
解説
Int 関数と Fix 関数は、どちらも Number の小数部分を取り除いた整数値を返します。
Int と Fix の違いは、Number に負の値を指定した場合に現れます。Int 関数が Number 以下の最大の負の整数を返すのに対して、Fix 関数は Number 以上の最小の負の整数を返します。たとえば、-8.4 を指定した場合、Int 関数は -9、Fix 関数は -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.
CInt 関数を使用すると、Option Strict Off の場合に、他のデータ型を明示的に整数型 (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 の詳細については、「データ型変換関数」を参照してください。
必要条件
名前空間 : Microsoft.VisualBasic
モジュール : Conversion
アセンブリ : Visual Basic ランタイム ライブラリ (Microsoft.VisualBasic.dll)