VBA 小数点以下を切り捨てる Int関数 Fix関数

スポンサーリンク

Int【インテジャー】関数

Fix【フィックス】関数

小数点以下を切り捨てるにはInt【インテジャー】関数または、Fix【フィックス】関数を使用します。正の数を整数に丸める場合は、Int【インテジャー】関数、Fix【フィックス】関数ともに小数点以下を切り捨てた整数を返しますが、負の数の小数点を丸める場合は、Int【インティジャー】関数は、指定した負の数以下の最大整数を返しますが、Fix【フィックス】関数は、小数点以下を切り捨てた整数を返します。例として、Int(-3.2) → -4が返ります。Fix(-3.2) → -3が返ります。

Int【インティジャー】関数・Fix 【フィックス】関数の書式と引数の説明

引数は省略できません。
Int(Number)
Fix(Number)
【戻り値】整数型

  • Number【ナンバー】(必須)
    整数に丸めたい数値、または有効な数式を指定します。

コード例

Sub 小数切捨()
Dim 数値1 As Single
Dim 数値2 As Single
数値1 = 100 / 3
数値2 = 100 / -3
MsgBox "Intの場合:" & Int(数値1) & vbCrLf & _
"Fixの場合:" & Fix(数値1) & vbCrLf & _
"Intの場合:" & Int(数値2) & vbCrLf & _
"Fixの場合:" & Fix(数値2)
End Sub

実行結果

小数点以下を四捨五入するには

VBAでは、厳密な意味で、数値を切り上げたり、四捨五入する関数はありません。したがって、数値を四捨五入によって丸めるにはワークシート関数のRound【ラウンド】関数。数値を切り上げて丸めるにはワークシート関数のRoundUp【ラウンドアップ】関数を使用します。

ワークシート関数使用コードと解説

Sub ワークシート関数()
Dim 数値 As Single
数値 = 1199.4
MsgBox _
"Ronudの場合:" & WorksheetFunction.Round(数値, 0) & vbCrLf & _
"RoundUpの場合:" & WorksheetFunction.RoundUp(数値, 0)
End Sub
Application【アプリケーション】オブジェクトのWorksheetFunction【ワークシートファンクション】プロパティを使用して、ワークシート関数のコンテナ(入れ物)となるWorksheetFunction【ワークシートファンクション】オブジェクトを取得してワークシート関数のRound【ラウンド】関数、RoundUp【ラウンドアップ】関数を使用します。引数は、(対象の数値,小数点の桁数)です。

実行結果


以上で、Int【インティジャー】関数 Fix【フィックス】関数についての解説を終了します。
ありがとうございました。

スポンサーリンク

関連記事・広告