To be quite honest I wouldn't take any US dollars. I would take Euros and if I needed dollars for, say, the Casino I would put it on my Sea Pass (charge) card.
Everything you need onboard is chargeable to that little card but I would suggest that you keep an eye on your account as many people are surprised by the amount they have managed to get through.
As for how many Euros, well firstly you can top up from ATM on the ships and ashore but make sure of the rates, if any, being charged for these transactions, some banks and ships don't charge others do. Then if you have an idea as to what your activities might be whilst doing things on your own try to do a totalling up on paper for all the days you will be ashore then add 10%, remember that ships excursions can be charged to your card. This should give you a good idea as to what your expenses will be and will stop you having too much to exchange back into sterling, see, I don’t know what you like to spend money on. You could be one for a little refreshment or the GGs or having a shave in an Italian barber shop or even treating an Italian barber so you have to work that out.
So to sum it up. Add your tips to your account, Work out what you might spend on shore and add 10%. There is nothing on which to spend money on sea days that can't be charged. Top up if necessary from an ATM if necessary. Hope that helps. ... Neil