Dude, don't use double to represent money.
http://en.wikipedia.org/wiki/Double_precision
So using double is in fact perfectly OK in this case.
The bitcoin client and protocol itself doesn't use doubles internally, but fixed-point numbers. I don't know about MTGox, though.
Dude, don't use double to represent money.