Thousands of people have been evacuated to safety in eastern Germany after a dam burst on the swollen River Elbe and farmland was flooded in an attempt to spare towns, with meteorologists forecasting more rain.

In Magdeburg, one of the oldest cities in eastern Germany and a regional capital, about 23,000 people were asked to leave on Monday as water levels in the Elbe rose to a record 7.48 metres - about 5 metres above normal and surpassing the level reached during devastating floods in 2002.

There have been at least a dozen deaths as a result of floods that have hit Germany, Austria, Slovakia, Poland and the Czech Republic over the past week.

Officials said more than 8,000 people were evacuated from towns and villages around Aken, south of Magdeburg.

A dam at the confluence of the River Elbe and the River Saale south of Magdeburg burst despite attempts to stabilise it.

A dyke was also breached, and a crisis unit said the high waters were likely to put further pressure on dykes in the coming days.

In total, more than 36,000 people have been evacuated from their homes in Saxony-Anhalt.

Some residents were also moved from Brandenburg, a largely rural state that surrounds the capital Berlin, and flooding of uninhabited areas was planned.

Financial fallout

In Hungary, dykes had been strengthened at critical points to protect the capital Budapest from flooding, as the Danube rose alarmingly.

The deluge reached Hungary on Friday but so far authorities, soldiers and thousands of volunteers have managed to defend the villages and towns along the river, piling more than three million sandbags beside its dykes.

Back in Germany, officials have estimated that the damage from the floods could amount to $8bn.

German Chancellor Angela Merkel has promised $130m in aid for flooded areas.

"We'll do everything humanly possible when it comes to reconstruction. Germany is sticking together in an admirable way at the moment and it should stay like that," she said.

Along with citizens and emergency services, about 11,000 German soldiers were helping to fight the flood waters on Sunday.