well if its a 12V lead acid car battery you should be reading around 13V - so your readings are wrong.
To get decent readings in a noisy environment you need to average the adc reading as explained here
your potential divider scales 18V down to 3.3V so you need
float voltage = voltValue * (18.0 / 1023.0);
but I still dont see why your readings are so far out.
I'd hope its MUCH better than the ADC resolution