comparación coordenadas

Hola he hecho un programa de prueba para convertir cadena de caracteres a real con la instrucción atof. No se por que razón me hace una aproximación en los dos primeros decimales y el resto los elimina.

Programilla:

double real;
char numero[]="3.9873";
void setup(){
Serial.begin(9600);
}
void loop(){
real=atof(numero);
Serial.print(real);
Serial.println();
}

El valor que me muestra es 3.99. Sabe alguien que pasa?
Gracias.