As Gracchus said, Bitcoin internally uses 64bit integers. Bitcoin's JSON interface on the other hand uses doubles, which give only 52 bit precision. Both types are big enough for bitcoin (double only for data exchange, the precision of doubles is not enough for actual calculations).
In the specific case of Dogecoin, the precision of the JSON interface (and parts of the GUI) is a known problem which we hope to fix in the future. Handling values in the range of hundreeds of million of dogecoin suffers from this currently.
The internally used 64bit integers are also a problem for Dogecoin which is being tracked. This is mostly a problem if anyone ever accumulates at leastn 2^64 Koinu (Satoshi) in a single wallet. This problem should be limited to the wallet, on the protocol level the size of transactions is limited to 10 billion doge.
I don't know how other coins handle this. There's at least one coin out there which supports arbitrary precision, but I forgot its name.
@Gracchus Floats are the textbook no-nos. Doubles less so. They appear to have 15 significant digits of precision, so unless you have 10^7 coins, you are still right down to a satoshi. – ThePiachu – 2014-05-15T03:47:35.610
Doubles are unusable as an internal format for Bitcoins (precision loss due to operations), but they are just big enough to convert a number in Satoshis into an number in BTC or the other way around. They are convienient enough to be "abused" for that by Bitcoin Core. – Jannis Froese – 2014-05-15T16:14:21.297