|Subject: St. Petersburg|
My experience last year was that I changed dollars in the ATM at the hotel it was the same or a few rubles more than the exchange booth. About 30 rubles to the US dollar.
What you have to watch out for are the restaurants that quote their prices in either US dollars or Euros. You don't know this because they have some small letters (forgot what they were) above the prices. On the bar or in a very obscure place is a small card that tells you their exchange rate. The Euro seemed to be the preferred currency in many places, but those same places also take credit cards.
I used rubles most of the time except in the caviar shop, which is right in the center in the shopping mall on Nevsky Prospekt that the guide kept on calling department store. The caviar was superb, much better than in one of the smaller stores, and very reasonable about $14 for a small jar. I paid by credit card there. You will need rubles for the metro and smaller restaurants.
Don't miss the Russian museum and also the palace where Rasputin was murdered, don't remember the name. Since I was there in late October the summer palaces were closed, but they are supposed to be magnificent.
Enjoy your trip Fanny