I can only assume you have checked/replaced the air filter, plugs, ect. Do you have a SES (service engine soon) light on? Does it come on for a moment when you turn the key? If you answer no to both questions, you probably have a code set, but don't realize it because the SES light is burned out. Either way, I'd take it to Auto Zone and have them see what codes might be set on the car. There are a few trouble codes that if set, will cause the engine to run a rich mixture and cause poor gas mileage. One that I would not be surprised to see is a bad O2 sensor.