VB6指定した精度の数値に四捨五入する

スポンサーリンク

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

サンプルコード

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

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

    dCoef = (10 ^ iDigits)

    If dValue > 0 Then
        ToHalfAdjust = Int(CDbl(dValue * dCoef + 0.5)) / dCoef
    Else
        ToHalfAdjust = Fix(CDbl(dValue * dCoef - 0.5)) / dCoef
    End If
End Function

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

VB6.0 以前
    ' 四捨五入した値を格納するための変数を宣言する
    Dim dValue As Double

    ' 有効小数桁数が小数第 2 位になるように四捨五入する
    dValue = ToHalfAdjust(12.325, 2)

    ' 四捨五入した結果を表示する
    Call MsgBox(CStr(dValue))  '12.33

関連するリファレンス

準備中です。

スポンサーリンク