What sensor are you using? Also, what do you want to make a bit more accurate? Please clarify
Sorry, I didn't read the title.
The LM335 has an output of 1mv/K
Your code uses analogRead, which uses a 10-bit ADC to convert the 0-5v into 0-1024 bits.
As such, you need to start by converting the reading back into volts:
val *= 0.0048828125;
Then, divide the voltage by 100 to get 10mV resolution. At this point, you should cast to a shorter variable to avoid floating-point operations
int deg = val / 100;
Lastly, subtract 273.15 degrees to get degrees Celcius from Kelvin:
deg -= 273;
In summary:
deg = (int)(analogRead(SENSOR)*0.0048828125/100)-273;
Make sense?