Hola a todos. Tengo un problema importante y no consigo solucionarlo.
Quiero hacer el coseno de un ángulo, pero cos() sólo recibe float y angle es int. ¿Cómo puedo pasar de int a float?
Hola,
¿No te deja directamente?
¿Ni siquiera haciéndole un "cast" al dato?, por ejemplo:
cos((float)angulo);
No he visto una función que te convierta directamente, pero supongo que no tengas problema con el casting como te he dicho.
Otra opción:
cos(atof(itoa(angulo)));
Vale, al final el problema era que Bennu trabaja con los ángulos en miles de grados (180º=180000) y yo se lo pasaba en grados ;D
Y los valores que te devuelve son correctos?
Ahora sí xDD Es que, claro, el coseno de 270 es -1 y me daba 0,00000... porque tenía que pasarle 270000 y yo le pasaba 270
ok, yo es que he tenido problemas con cos porque me devolvía valores erroneos, conociendo lo de ponerlo en miligrados. Daré por hecho que no me volverá a pasar. Gracias.
Ojo: en Bennu hay dos módulos de funciones trigonométricas, si no recuerdo mal. Una usaba floats y otra ints, como hemos usado desde tiempos de DIV (mod_mathi y mod_math). Puedes usar una u otra en función de la que cargues ;)