I'm having a hard time explaining this one. The following function is being used as a worksheet formula. A value of "empty" simply means that the cell was empty and, therefore, there is no value. Given the values {empty, empty, 0.8, 0.2}, the following function is sometimes returning off the wall values like 5.55111512312578E-17. In the debugger, it looks like everything is correct until the last value in the ParamArray (in this case 0.2) is processed. Any thoughts?
Private Function getOvertimeEP(ParamArray epAllocations() As Variant)
Dim overtimeEP As Double
overtimeEP = -1
For Each nextVal In epAllocations
overtimeEP = overtimeEP + nextVal
Next
If overtimeEP < 0 Then
overtimeEP = 0
End If
getOvertimeEP = overtimeEP
End Function