Hi @dchan1,
There is obviously a weird behavior probably due to decimal precision used behind the scene, but no reason a 2 decimal float becomes a 10 decimal one with a 0.0000000001 difference. I have to admit I can't explain why.
However, I have a workaround that may interest you, as there is no round() function available, to correct the result to what is expected, have a look to following flow design to illustrate:


Results:

Explanations:
- I used a JSON array containing a bunch of objects with amount property as source. To be in same context than your source.
- I increment the variable with each value
- Use "Format Number" to round variable value to 2 decimal float
- Display variable value and Format Number result.
Remark: "Format Number" returns a string, I convert it back to float in display compose, useless here, but it was to introduce that point.
______________________________________________________________
If I have answered your question, please Accept the post as solution.
If you like my response, please Thumbs Up.