All these cities rank above London for average hotel room price according to Bloomberg’s World Cities Hotel Index.
London is in eighth place overall, with the average daily cost of a double room for two adults coming in at £140 (estimated at £160 using the International Monetary Fund’s Purchasing Power Parity values, which takes into account market exchange rates).
A night in Geneva will set you back the most, £183 on average, while Edinburgh is in seventh place at £144.
According to Bloomberg's analysis of the data, room prices are pushed up in markets where there is an affluent customer base or where there is little developable land and a limited number of hotels. This is the case in Edinburgh, where a scarcity of rooms at the lower end of the markets means prices tend to be higher.
Elsewhere, Moscow comes in 30th out of the 106 cities looked out at £109, while the average cost of a double room in Frankfurt will leave you £88 less wealthy.
Excluding travel, Hanoi in Vietnam is your best bet for a cheap stay at £37, closely followed by Makati City in the Philippines and two Indian cities, Chennai and Calcutta.
In Europe, you will only have to part with £49 for a night in Sofia, with a room in Warsaw at £50.
If luxury is what you're after, Geneva, largely thanks to the presence of the headquarters of international organisations like the UN, also tops the list when it comes to five-star hotels at £365 per night. In this category, Los Angeles, Tokyo, Milan, Jerusalem and Paris make the top ten list for luxury accommodation.
The index takes into account only cities that are among the UN’s 30 largest Urban Agglomerations, host the headquarters of at least 10 public companies in finance, healthcare and IT; each with at least $1bn in market capitalization, or have a Bloomberg international bureau. All cities included have at least 50 hotels 3-star and above.