Most cosmopolitan cities accept credit cards, however, it is always good to have some currency on hand for times that a card is not accepted. Below are three ways that you can obtain foreign currency.
1- Take cash with you and exchange it at a currency exchange. My wife and I almost never use this method as it is expensive and the rates always vary from location to location. If you decide to take cash and exchange it be sure to use banks and not small vendors as the bank rates are typically more favorable. We also strongly recommend that you make sure that the bills you take are very new with no tears or marks otherwise the foreign banks or vendors may not accept them. We experienced this in many cities when we initially traveled. Some foreign banks also prefer $100 bills and not smaller denominations.
2- Take your debit card - My wife and I use our debit card to withdraw currency once we arrive at our destination. We have a bank account that does not charge international fees or or ATM fees. The bank we use for this is Capitol One 360. They do not charge a foreign ATM fee or transaction fee. However, the bank you are withdrawing from might charge a fee.
Taking your ATM card with your is much safer as you don't need to take large sums of money with you. Another tip that has come in handy for my wife and I is to call the Bank before we travel and ask them to raise our ATM withdrawal daily limit. That way if you are paying any fees you can take out more funds the first time. You want to avoid taking out smaller amounts if possible.
3- Order foreign currency from your U.S. financial institution. Many of the larger U.S. financial institutions keep foreign currency on hand for situations where their customer's might need it. In our experience this involves fees so we have not opted for this method. This option typically involves waiting for the money to arrive from another location so be sure you place the order with your financial institution well ahead of time.