Ехать в Европу с долларами не очень разумно. Обменять их на евро вы, конечно, сможете в обменниках, но зачем вам двойная конвертация "рубли - доллары - евро"? Если у вас еще нет карточки в евро, то лучше завести такую, а не ехать с долларовой.
В Будапеште вы вряд ли где поменяете рубли на евро или форинты. Так что можно про рубли тоже забыть. Самое оптимальное - приехать в Будапешт с евро: частично наличкой, частично - на карте. Возле вокзалов обменники с очень невыгодным курсом. Но так как все равно придется покупать проездные за форинты, то можно обменять небольшую сумму по невыгодному курсу прямо на вокзале. Самый выгодный курс, который я видел - в банках. Мне там обменяли честно, без всяких скрытых комиссий.
Вообще-то, в Венгрии можно расплачиваться и евро, но только в торговых точках, да и то не во всех. Но сами понимаете, торговцы вам вряд ли предложат выгодный курс. Частенько в туристических местах можно увидеть две цены: в форинтах и евро. Считайте сами, какой валютой выгоднее расплатиться.
Из своего опыта: иногда проще заплатить в евро, чтобы поберечь форинты для тех мест, где принимают только местные деньги.