Langage c, long != double ,comment faire????

yoda -  
 Utilisateur anonyme -
salut a ts!!

voila ma question

long a=4;
double b=0;

b=sqrt(a);

et la sa ne marchera pas car la fonction sqrt (double x) doit prendre un double et renvoie un double , or "a" est un long; ceci est un exemple mais il y a bcp d'autre fonction de ce genre.
comment faire quand on se ratrouve dans cette siuation(comme moi :D)??
bien sur comme "a" vien en faite d'une structure deja utiliser sur 6 page de source differente, il met donc casiment impossible de le changer!
mais alors comment faire??

aider moi je veu pas tout changer juste pour un sqrt car sinon je dois casiment tout recommencer;

il ny a pas une fonction qui converti des long en double???
il autre soulution pour faire sqrt??(mais ce probleme peut se retrouver dans d'autre ocasion que sqrt donc....)

voila merci !!!!
A voir également:

2 réponses

Ravachol Messages postés 566 Date d'inscription   Statut Membre Dernière intervention   120
 
Salut,
essaye avec un transtypage explicite :
b=sqrt((double)a);

A++

Ni l'ignorance n'est défaut d'esprit,
ni le savoir n'est preuve de génie. Auteur inconnu
1
Utilisateur anonyme
 
Bonsoir,
long --> double = perte de précison
0