VB6指定した精度の数値に切り捨てする

スポンサーリンク

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

サンプルコード

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

VB6.0 以前
' ------------------------------------------------------------------------
'       指定した精度の数値に切り捨てします。
'
' @Param    dValue      丸め対象の倍精度浮動小数点数。
' @Param    iDigits     戻り値の有効桁数の精度。
' @Return               iDigits に等しい精度の数値に切り捨てられた数値。
' ------------------------------------------------------------------------
Public Function ToRoundDown(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
            ToRoundDown = Int(dValue * dCoef) / dCoef
        Case Is < 0
            ToRoundDown = Fix(dValue * dCoef) / dCoef
        Case Else
            ToRoundDown = dValue
    End Select
End Function

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

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

    ' 有効小数桁数が小数第 2 位になるように切り捨てる
    dValue = ToRoundDown(12.328, 2)

    ' 切り捨てした結果を表示する
    Call MsgBox(CStr(dValue))  '12.32

関連するリファレンス

準備中です。

スポンサーリンク