[C] Arrondis 2 chiffres après virgule

Résolu
jerémiethe7 Messages postés 153 Statut Membre -  
 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.
Configuration: Windows XP
Firefox 2.0.0.16
DEV C++ 4.9.9.2

7 réponses

  1. PeterPeterPeter Messages postés 202 Date d'inscription   Statut Membre Dernière intervention   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
    
    1
    1. jerémiethe7 Messages postés 153 Statut Membre 32
       
      salut,

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

      merci
      0
    2. NetLander
       
      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
  2. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    à tester, mais je dirais
    floor(valnum *100.0 + 0.5) /100.0 ;
    0
    1. jerémiethe7 Messages postés 153 Statut Membre 32
       
      c'est pas pour le php floor ?

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

      +
      0
  3. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    #include <math.h> et compiler avec -lm
    0
  4. jerémiethe7 Messages postés 153 Statut Membre 32
     
    c'est quoi "-Im" ??
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. PeterPeterPeter Messages postés 202 Date d'inscription   Statut Membre Dernière intervention   30
     
    C'est pour inclure la librairie math lors de la compilation.
    0
  7. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    oui, c'est L minuscule : -lm
    0
  8. jerémiethe7 Messages postés 153 Statut Membre 32
     
    ok c'est bon ça fonctionne !

    Merci pour tout !
    0