[C] Arrondis 2 chiffres après virgule

Résolu/Fermé
jerémiethe7 Messages postés 152 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 27 février 2009 - 22 juil. 2008 à 14:26
 NetLander - 19 nov. 2009 à 20:57
Bonjour,

j'ai une variable de type float que je souhaite arrondir a 2 chiffres après la virgule, en C.
J'ai par exemple :

valnum=13.586122
et je voudrais valnum=13.59

J'ai surout vu des fonctions en C++, mais c'est en C que je souhaite.

Si quelqu'un connait ce serait simpa.

Merci.

7 réponses

PeterPeterPeter Messages postés 202 Date d'inscription jeudi 17 juillet 2008 Statut Membre Dernière intervention 22 juin 2010 30
22 juil. 2008 à 14:58
printf("%1.2lf\n", ton_float_ou_double);

De tête c'est ça je crois :)

Voilà je viens de faire un petit test :

#include <stdio.h>

int main()
{
  float a;

  a = 1.222222;
  printf("%f\n",a);
  printf("%1.2lf\n",a);
  return (0);
}


Qui donne :

etavirp@etavirp:~$ ./a.out
1.222222
1.22
1
jerémiethe7 Messages postés 152 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 27 février 2009 32
22 juil. 2008 à 15:11
salut,

en faite je ne souhaite pas juste l'imprimer sur l'écran mais carrément transformer le nombre.

merci
0
J'ai essayer sous AIX

si a= 1.22x x etant une valeur suppérieur ou égale a 5. Le resultat n'est pas bon a tout coup.
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
22 juil. 2008 à 15:38
à tester, mais je dirais
floor(valnum *100.0 + 0.5) /100.0 ;
0
jerémiethe7 Messages postés 152 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 27 février 2009 32
22 juil. 2008 à 15:51
c'est pas pour le php floor ?

ou alors il faut rajouter une bibliothèque car là ça ne fonctionne pas ^^.

+
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
22 juil. 2008 à 15:57
#include <math.h> et compiler avec -lm
0
jerémiethe7 Messages postés 152 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 27 février 2009 32
22 juil. 2008 à 18:29
c'est quoi "-Im" ??
0

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

Posez votre question
PeterPeterPeter Messages postés 202 Date d'inscription jeudi 17 juillet 2008 Statut Membre Dernière intervention 22 juin 2010 30
22 juil. 2008 à 21:58
C'est pour inclure la librairie math lors de la compilation.
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
23 juil. 2008 à 10:23
oui, c'est L minuscule : -lm
0
jerémiethe7 Messages postés 152 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 27 février 2009 32
23 juil. 2008 à 13:22
ok c'est bon ça fonctionne !

Merci pour tout !
0