文字列数式評価(5)~各項の和

残るは各項を足し合わせる処理だが、
乗除算とほぼ同じ処理になる。

'   各項の和を計算
Private Function XEVal_PM(ByVal s)

    On Error GoTo Err:

    Set XEVal_PM = New Triple
   
    Dim i               As Long         '   繰り返し変数

    '   "+" で分解
    s = Split(s, "+")

    XEVal_PM = CDec(0)
    For i = 0 To UBound(s)
        If Len(s(i)) > 0 Then
            '   項の中(の乗除算)を計算する
            s(i) = XEval_MD(s(i))
        Else
            s(i) = 0
        End If
        XEVal_PM = XEVal_PM + s(i)
    Next
   
    Exit Function
   
Err:
    Err.Raise 9002, , s(i) & "を数値として処理できませんでした"

End Function

ゼロ割り回避がない分すっきりしている。

コメント

このブログの人気の投稿

文字列数式評価(3)~符号処理

文字列数式評価(1)