As I wrote in an earlier response: "rounding is a poorly understood matter". It looks so simple, but it really is not.
In my blog, I just wrote a contribution (plus code) to the concept of "commercial" or "psychological" rounding: the art of having your prices ALWAYS end on .99 or .98, or 50, or 75 or 100 or whatever.
It´s still warm, just came out the oven. I tested it and it looks good, but ..... there´s always one more bug. Let me know if you run into one (am sure they are there).
Here´s the link: