Utilis. des 4 chiffres après la virgule

Fermé
Liun - 10 avril 2008 à 12:21
 Liun - 11 avril 2008 à 10:39
Bonjour,

Je fais des opérations avec plusieurs matrices (multplication etc ...) en C .Et pour retrouver le meme résultat que sur matlab, il me faut utiliser les résultats en C de la multiplication des matrices avec 4 chiffres après la virgule ...
Ma question est comment prendre les 4 chiffres de mon résultat (au lieu des 6 que me donne le compilateur) afin de continuer mes calculs ...

PS : je ne veux pas afficher les 4 chiffres après la virgule mais les utiliser ...

5 réponses

bjr

pour afficher seulement les 4 premiere chifre apré la vigule:

printf("%.2f",x);
0
bonjour,

tu peux affecter le resultat à une chaine en la formatant et reconvertir cette chaine en double

char str[20];
double resultat;

sprintf(str,"%.4f",resultat);
resultat=atof(str);


A+.
0
Dslé mais je ne veux pas afficher mes résultats, mais les utiliser pour faire d'autres opérations en utilisant les 4 chiffres après la virgule é non les 6 que me donne mon compilateur ... comment es ce que je peux faire cela ???!!!

Si je fais par exemple : A = 4.52 * 38.3; (= 173.1160)
Puis ds le code je pose après : B = A * 2.5; Je voudrais utiliser A = 173.12 ...

J'espere que j'ai bien expliqué cette fois-çi ...
0
Re,

J'ai bien compris, la fonction sprintf(str,"%.4f",resultat); n'affiche pas le résultat, à ne pas confondre avec printf(). sprintf() affecte à str la valeur de resultat convertie en chaine formatée.

ex: resultat=175.452328
sprintf(str,"%.4f",resultat); /* str="175.4523" */
resultat=atof(str); /* resultat=175.4523 */

c'est bien ce que tu voulais ,non?

A+.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Re ... Ouuuuuuuui merçi ...
0