Here's my recommendation for nice, but cheap(!), accomodation in the heart of London: Citadines Trafalgar Square.

I've stayed there for multiple nights on two occasions now, and the location is hard to beat. It's right beside the Charing Cross and Embankment tube/train stations, less than a minute's walk from Trafalgar Square, very close to Leicester Square and the theatres of London's West End, 5-10 minute walk for Soho night life, etc..

And a reasonably "safe" location, being right beside Whitehall, and a molotov's throw from Tony Blair's house -- lots of coppers around to keep the world tidy.

Cheers