An extremely common question, and perhaps one I can’t give you a straight answer to.
Everybody has different prices. There are a number of factors that go into it, but the two main factors are 1) Skill level, and 2) Location. For example, a web designer in India is going to cost much less than one in London. A web designer that has a portfolio of prominent clients (Nike, Coca-Cola, Ford, etc) will charge more than one just out of school who only has study cases.
Charging $400 for that site was probably in the right range for your skill level. If it took you a really long time, that’s not particularly the client’s fault. You’re still learning. Eventually things will get quicker and easier. As your designs get better and your code gets cleaner, you’ll be able to start charging more.
A lot of times people just starting out will ask a top web designer what they make and then try to base their wage off that. It can become confusing and hard to settle on a number. When I first started out, I was simply told to charge what I thought was fair. Charge up until the point where I thought I was ripping somebody off. If you feel guilty, you’re probably charging too much. If you feel shafted, you’re probably charging too little. Find your balance.
Now, in terms of presenting a project’s cost to a client, always go with a rounded number. Nobody wants to hear about your hourly rate. You say the project costs X amount of dollars. Now, how do you come to that number? Hourly Rate x Hours to Complete project. This will be hard to figure out at first. What you’ll want to do is create a few fake clients and time yourself on how long you can put together a design and code it (remember, coding a design is not just the home page, you have inside pages, special pages like a contact us page, site map, etc).
Things will become more clear with experience!