Arduino parsing Double is incorrect
There is no easy solution. The Arduino you are using does not support
double precision floating point. The type double is just an alias for
float, which has 24-bit accuracy.

Your program is actually giving you the correct result, as the float
closest to 4815.98450 is exactly 4815.984375.