Virgule apres nombre decimal

nicolasyon1992 Messages postés 17 Date d'inscription jeudi 28 décembre 2000 Statut Membre Dernière intervention 12 décembre 2008 - 8 déc. 2008 à 17:52
nicolasyon1992 Messages postés 17 Date d'inscription jeudi 28 décembre 2000 Statut Membre Dernière intervention 12 décembre 2008 - 9 déc. 2008 à 09:22
Bonjour tout le monde,

Voilà, c ma première question sur le forum, et comme vous pouvez le constater g un pb avec les virgules en c
Mon pb c que j'aimerais svaoir si par exemple lorsque le programme affiche 2.500000(je ne suis pas sur du nombre de zero derriere la virgule), il y avait un moyen pour qu'il affiche 2.5, ou autres exemples:
3.467000-->3.467
2.320000-->2.32

En gros, j'aimerais que ca n'affiche seulement que le nombre exact sans les virgules derriere

Je vous remercie de votre réponse

4 réponses

racpp Messages postés 1909 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 17
8 déc. 2008 à 18:28
Salut,
Tu veux dire sans les zéros derrière. Une solution consiste à mettre le nombre dans un buffer avec le maximum
de chiffres après la virgule. Pour cela on utilise la fonction sprintf(). Puis, grâce à une petite boucle while() on supprime les caractères "0" inutiles puis on marque la fin du buffer avec la valeur 0. Le nombre sera ensuite affiché comme chaine de caractères.
0
racpp Messages postés 1909 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 17
8 déc. 2008 à 18:37
Il est également possible d'utiliser directement "%g" au lieu de "%f" dans printf() ou sprintf().
0
nicolasyon1992 Messages postés 17 Date d'inscription jeudi 28 décembre 2000 Statut Membre Dernière intervention 12 décembre 2008
8 déc. 2008 à 19:42
Merci bcp de ta reponse, je ne pas encore essaye, mais je tendirais des nouvelles

Einstein
Deux choses sont infinies la connerie humaine, et l'univers
0
nicolasyon1992 Messages postés 17 Date d'inscription jeudi 28 décembre 2000 Statut Membre Dernière intervention 12 décembre 2008
9 déc. 2008 à 09:22
Re bonjour, voila puisqu'il en etait question je voulais savoir si lorsque dans printf() on devait alors dans scanf(), ecrire egalement g%, sachant que la variable est de type double
Merci

Einstein
Deux choses sont infinies la connerie humaine, et l'univers
0
Rejoignez-nous