I have commented on this previously
http://www.noelwatson.com/blog/PermaLink,guid,35888a0f-c06a-4e6c-a818-5d4871ed35b3.aspx
but came across a similar problem in Excel today. A trader is using the INT() function to remove decimal places. A number such as 23.59 will become 23. However, our solution (correctly I believe) interprets this as 24. It may be that the trader should've used ROUND().
http://support.microsoft.com/kb/q196652/