【VBA】数値(小数点あり)の整数部を取得する【Int関数とfix関数の違い】

VBAで
 ・数値(小数点あり)の整数部を取得
できます!

VBA関数である
 ・Int関数 または
 ・fix関数
により実現できます!

取得対象の数値(小数点あり)が
 ・”“の整数の場合は、Int関数とfix関数の結果に違いは無い
です!
※”“の整数(マイナス整数)の場合に、違いが出ます

PR

VBAコード

ここでは例として
 ・”“の整数(小数点あり)である「12.5」の整数部を取得
 ・”“の整数(小数点あり)である「12.5」の整数部を取得
します。

Option Explicit

Sub sample()
    
    Dim targetNum As Double
    
    '--------------------------
    '"正"の整数(小数点あり)の場合
    '--------------------------
    '"正"の整数を指定
    targetNum = 12.5
    
    '正の整数の場合、Int関数とfix関数の結果に違いは無い
    MsgBox ("正の整数である" & targetNum & "の場合" & vbCrLf & vbCrLf & _
            "Int関数:" & Int(targetNum) & vbCrLf & _
            "fix関数:" & Fix(targetNum))
    
    
    '--------------------------
    '"負"の整数(小数点あり)の場合
    '--------------------------
    '"負"の整数を指定
    targetNum = -12.5
    
    '負の整数の場合、Int関数とfix関数の結果に違いが出る
    MsgBox ("負の整数である" & targetNum & "の場合" & vbCrLf & vbCrLf & _
            "Int関数:" & Int(targetNum) & vbCrLf & _
            "fix関数:" & Fix(targetNum))

End Sub

「整数部を取得したい数値(小数点あり)」を指定します(11、23行目)。

「Int関数」または「fix関数」により、数値(小数点あり)の整数部を取得します(15~16、27~28行目)。

PR

実行結果

数値(小数点あり)の整数部を取得できました。

●”“の整数の場合
「Int関数」と「fix関数」の結果に違いはありませんでした

実行結果。"正"の整数の場合、「Int関数」と「fix関数」の結果に違いは無い。
実行結果。”正”の整数の場合、「Int関数」と「fix関数」の結果に違いは無い。


●”“の整数の場合
「Int関数」と「fix関数」の結果に違いがありました

実行結果。"負"の整数の場合、「Int関数」と「fix関数」の結果に違いが出た。
実行結果。”負”の整数の場合、「Int関数」と「fix関数」の結果に違いが出た。

Int関数の場合、指定した数値以下の最大の整数を返します。
fix関数の場合、指定した数値以下の最小の整数を返します。

PR

参考

上記のVBAコードで使用した以下の詳細は、公式サイトをご確認ください。

●Int関数とfix関数


●vbCrLf(改行を示す定数)