Who told you the exchange rate was exactly $17.29 and has not been rounded?
The logs show it as $17.29000 - and I'm fairly sure I asked for the trade to occur at 17.29!
It is simply not legitimate to show it with this many decimal places if it was rounded off at 2DP.
It's very hard to mess up an easy task like multiplying 2 numbers when you program.
No. This is the problem with amateur programmers who try to code with currency.
It is *very easy* to get apparently simple things wrong.
e.g 0.1 * 21.55
depending on the precision used could come out as say 2.1550000000000002
now store that in a variable $x
check if you have the expected value $x == 2.155 and the program returns FALSE.
In this example, I've used floats - just to demonstrate one pitfall.
Rounding during intermediate calculations is another way to introduce inaccuracies and it looks to me as though this is what mt gox is doing.