Option Compare Database
Option Explicit
Const CNST_計算_切上 As Integer = 0
Const CNST_計算_切捨 As Integer = 1
Const CNST_計算_四捨五入 As Integer = 2
Const CNST_処理_実行しない As Integer = 0
Const CNST_処理_実行する As Integer = 1
'+++++++++++++++++++++++++++++++++++++++++++
' 関数呼出
'+++++++++++++++++++++++++++++++++++++++++++
Sub HogeHoge()
'@定数未使用の呼出
Debug.Print FNC_定数未使用(1.55, 1, 1, 1)
'A定数使用の呼出
Debug.Print FNC_定数使用(1.55, 1, CNST_計算_切捨, CNST_処理_実行する)
End Sub
'+++++++++++++++++++++++++++++++++++++++++++
' @定数未使用
'+++++++++++++++++++++++++++++++++++++++++++
Function FNC_定数未使用 _
(value As Double, digits As Integer, 計算flg As Integer, 実行flg As Integer) As Double
If 実行flg = 1 Then
Select Case 計算flg
Case 0
FNC_定数未使用 = Sgn(value) * Int(Abs(value * 10 ^ digits) + 0.9) / (10 ^ digits)
Case 1
FNC_定数未使用 = Sgn(value) * Int(Abs(value) * 10 ^ digits) / (10 ^ digits)
Case 2
FNC_定数未使用 = Sgn(value) * Int(Abs(value * 10 ^ digits) + 0.5) / (10 ^ digits)
End Select
Else
FNC_定数未使用 = 0
End If
End Function
'+++++++++++++++++++++++++++++++++++++++++++
' A定数使用
'+++++++++++++++++++++++++++++++++++++++++++
Function FNC_定数使用 _
(value As Double, digits As Integer, 計算flg As Integer, 実行flg As Integer) As Double
If 実行flg = CNST_処理_実行する Then
Select Case 計算flg
Case CNST_計算_切上
FNC_定数使用 = Sgn(value) * Int(Abs(value * 10 ^ digits) + 0.9) / (10 ^ digits)
Case CNST_計算_切捨
FNC_定数使用 = Sgn(value) * Int(Abs(value) * 10 ^ digits) / (10 ^ digits)
Case CNST_計算_四捨五入
FNC_定数使用 = Sgn(value) * Int(Abs(value * 10 ^ digits) + 0.5) / (10 ^ digits)
End Select
Else
FNC_定数使用 = 0
End If
End Function