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 が数値型ではありません。

非構造化エラー処理を使用する 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)

参照

参照

データ型変換関数

整数型 (Integer) (Visual Basic)

数値演算の概要

数値演算関数 (Visual Basic)

変換の概要

ArgumentNullException