VB6指定した精度の数値に切り上げする

スポンサーリンク

VB6 では、正数の整数部分を Int 関数で、負数の正数部分を Fix 関数で求めるようにします。

サンプルコード

以下にサンプルコードを示します。

VB6.0 以前
' ------------------------------------------------------------------------
'       指定した精度の数値に切り上げします。
'
' @Param    dValue      丸め対象の倍精度浮動小数点数。
' @Param    iDigits     戻り値の有効桁数の精度。
' @Return               iDigits に等しい精度の数値に切り上げられた数値。
' ------------------------------------------------------------------------
Public Function ToRoundUp(ByVal dValue As Double, ByVal iDigits As Integer) As Double
    Dim dCoef As Double

    dCoef = (10 ^ iDigits)

    Select Case CDbl(dValue * dCoef) - Fix(dValue * dCoef)
        Case Is > 0
            ToRoundUp = (Int(dValue * dCoef) + 1) / dCoef
        Case Is < 0
            ToRoundUp = (Fix(dValue * dCoef) - 1) / dCoef
        Case Else
            ToRoundUp = dValue
    End Select
End Function

使用例は以下のようになります。

VB6.0 以前
    ' 切り上げした値を格納するための変数を宣言する
    Dim dValue As Double

    ' 有効小数桁数が小数第 2 位になるように切り上げる
    dValue = ToRoundUp(12.324, 2)

    ' 切り上げした結果を表示する
    Call MsgBox(CStr(dValue))  '12.33

関連するリファレンス

準備中です。

スポンサーリンク