Errores en Operaciones de geometría

Lo he pegado aquí tb porque pese a estar en un proyecto, lo entiendo más como cuestión de programación que de el propio proyecto en sí... disculpad...

Hola a todos !!

Problema !!!

Cuando uso funciones trigonométricas complejas (Seno, Coseno, etc..) que impliquen operaciones con estos operadores, me salen errores del orden de grados a veces...

Normalmente las almaceno como double o float... pero si hago las mismas operaciones con excel o calculadora el resultado en Arduino es distinto ...me salen errores...

Uso siempre angulos en Radianes...

Por ejemplo...
====== EN esta Operacion======
sinδ = sina * sinφ +cosa * cosφ * cosA * sinδ = 0.394 254
Take inverse sin to find δ . δ = 23.219 444 degrees

======Este Codigo me devuelve

    float Float_AZ = 283.2710277;               
    float Float_ALT =  19.051011   ;    
    double cosAzm = cos (Float_AZ/Rad);
    double Sin_DEC = sin ((  sin (Float_ALT/Rad) * Sin_Lat )  +  ( cos (Float_ALT/Rad) * Cos_Lat * 
    cosAzm ) ) ;
    Serial.print ("Sin_DEC=");
    Serial.println (Sin_DEC);
    double Actual_DEC = ( asin ( Sin_DEC) )* Rad ; // Actual Declination in degrees

==============

Me devuelve
Sin_DEC=0.38 ========> en vez de 0.394
Sin_DEC degrees=22.39====> en vez de 23.219 (1 Grado de Error !!!!)

Esto en operaciones acumuladas me mete unos errores bastante grandes !!!

Por qué ocurre ???

Como Evitarlo ????

Mas alla que debes editar tu porción de código usando etiquetas como te pido por privado, te respondo que

Serial.println (Sin_DEC);

por defecto imprime 2 decimales pero esto

Serial.println (Sin_DEC, 6);

imprimirá 6 por ejemplo.

NOTA:
Una pena que consultas que corresponden a tu proyecto las hagas fuera del mismo.
Los proyectos se enriquecen justamente con esta variedad de problemas y soluciones.