arrondir un char*

arrondir un char* - C - Programmation

Marsh Posté le 11-10-2008 à 11:05:32    

Bonjour,

Code :
  1. ...
  2. float n = (float)atof(prix);
  3. n=ceil(n*100.0f);
  4. n=n/100.0f;
  5. char* caract = (char*)calloc(4,sizeof(char)) ;
  6. sprintf(caract, "%f",n) ;
  7. ...


Si prix='1.0623', l'affichage de caract me renvoie la meme chose
alors que je voudrais '1.06'. Il y a une erreur forcement ?

Reply

Marsh Posté le 11-10-2008 à 11:05:32   

Reply

Marsh Posté le 11-10-2008 à 11:16:35    

Voir la description de l'indicateur de précision dans la documentation de printf.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 11-10-2008 à 12:42:03    

"man printf", si tu es sous Unix. Si tu n'es pas sous un Unix quelconque, sous Google ça marche pas mal aussi.
En gros, tu peux étoffer le %f en %x.yf, où x et y sont optionnels : x permet de forcer une taille fixe en nombre de digits, et y est un indicateur de précision. Et encore, tu peux écrire des formats encore plus évolués que %x.yf, selon tes besoins.


Message édité par Elmoricq le 11-10-2008 à 12:43:04
Reply

Marsh Posté le 11-10-2008 à 15:59:17    

man 3 printf

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed