[C] Arrondis 2 chiffres après virgule

Résolu/Fermé
Messages postés
152
Date d'inscription
dimanche 2 décembre 2007
Statut
Membre
Dernière intervention
27 février 2009
-
 NetLander -
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.
A voir également:

7 réponses

Messages postés
202
Date d'inscription
jeudi 17 juillet 2008
Statut
Membre
Dernière intervention
22 juin 2010
30
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
Messages postés
152
Date d'inscription
dimanche 2 décembre 2007
Statut
Membre
Dernière intervention
27 février 2009
32
salut,

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

merci
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.
Messages postés
18412
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
26 janvier 2022
5 535
à tester, mais je dirais
floor(valnum *100.0 + 0.5) /100.0 ;
Messages postés
152
Date d'inscription
dimanche 2 décembre 2007
Statut
Membre
Dernière intervention
27 février 2009
32
c'est pas pour le php floor ?

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

+
Messages postés
18412
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
26 janvier 2022
5 535
#include <math.h> et compiler avec -lm
Messages postés
152
Date d'inscription
dimanche 2 décembre 2007
Statut
Membre
Dernière intervention
27 février 2009
32
c'est quoi "-Im" ??
Messages postés
202
Date d'inscription
jeudi 17 juillet 2008
Statut
Membre
Dernière intervention
22 juin 2010
30
C'est pour inclure la librairie math lors de la compilation.
Messages postés
18412
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
26 janvier 2022
5 535
oui, c'est L minuscule : -lm
Messages postés
152
Date d'inscription
dimanche 2 décembre 2007
Statut
Membre
Dernière intervention
27 février 2009
32
ok c'est bon ça fonctionne !

Merci pour tout !