Number precision problem
Juan:
It didn't work.
Thank you,
Adrian T
-----Original Message-----
Use the round function with 4 or 5 decimals
--
Regards
Juan Pablo González
"Adrian T" wrote in
message
...
Hi:
I have encountered a precision error. Hopefully, someone
could answer this.
In a class (clsAssumptions), I have following:
--------------------------------------------------------
-
Public Function RefundEarnedPremiumSchd(ByRef
arrSchedule
() As Single)
Dim i As Integer
'Return array of earned premium schedule to the calling
procedure
arrSchedule(1) = 0.1
arrSchedule(2) = 0.2
arrSchedule(3) = 0.175
arrSchedule(4) = 0.135
arrSchedule(5) = 0.11
arrSchedule(6) = 0.09
arrSchedule(7) = 0.07
arrSchedule(8) = 0.05
arrSchedule(9) = 0.035
arrSchedule(10) = 0.035
For i = 11 To 30
arrSchedule(i) = 0
Next i
End Function
--------------------------------------------------------
-
In a module, I have a calling procedure to populate
cells
with above numbers:
--------------------------------------------------------
-
Public Sub popRefundEarnedPremiumSchd()
Dim Assumptions As clsAssumptions
Dim arrRefundEarnedPremium() As Single
Dim i As Integer
Set Assumptions = New clsAssumptions
ReDim arrRefundEarnedPremium(1 To 30)
Assumptions.RefundEarnedPremiumSchd
arrRefundEarnedPremium()
Range("A1")(1, 1).Activate
For i = 1 To 30
ActiveCell.Value = arrRefundEarnedPremium(i)
ActiveCell.Next.Activate
Next i
Set Assumptions = Nothing
End Sub
--------------------------------------------------------
-
When I go to the sheet, the results a
0.100000001490116 (input is 0.1)
0.200000002980232 (input is 0.2)
0.174999997019768 (input is 0.175)
0.135000005364418
0.109999999403954
0.090000003576279
0.070000000298023
0.050000000745058
0.035000000149012
0.035000000149012
QUESTIONs: Where are extra decimals coming from? How
can I
eliminate extra decimals? I want 0.1, not
0.100000001490116.
.
|