You state that totalAmount
is 1.05, before the accumulation. That would give expected results of:
1.05
4.93 +
------
5.98
You are getting 5.97999954, which is basically the answer as best represented by IEEE floating point, which is a binary format that cannot exactly express every decimal number. For instance, the rather common 0.110 has an infinite binary floating point representation .0001100110011...
2.
And a Wikipedia link, for good measure: http://en.wikipedia.org/wiki/Floating%5Fpoint#Accuracy%5Fproblems ;)