Problème de conversion!!!

arfimounir Messages postés 10 Date d'inscription lundi 19 juin 2006 Statut Membre Dernière intervention 2 mars 2007 - 4 janv. 2007 à 17:33
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 - 4 janv. 2007 à 18:21
Salut, j'ai bésoin de l'aide sur le problème suivant en VC++ 2005:

Exemple: X = 100
               Y = X / 3 <=>  sprintf(bfr, "%i" ,Y)  < => Y = 30   ou   brf = 30
               
               Si je fait sprintf(bfr,"%e" ou "%E" ou "%f" ou "%g" ou "%G", Y) il affiche
               30.333333.

Moi ce que je veux, comment obtenir 30.3 au lieu de 30.333333 (C'est à dire un seul chiffre après la virgule).

Et Merci.
               

               

4 réponses

wxccxw Messages postés 755 Date d'inscription samedi 15 mai 2004 Statut Membre Dernière intervention 30 janvier 2011
4 janv. 2007 à 18:09
utilise un float au lieu d'un int et puis sprintf(bfr,"%2.f",Y);
et tu aura juste 2 chifre apres la virgule
0
wxccxw Messages postés 755 Date d'inscription samedi 15 mai 2004 Statut Membre Dernière intervention 30 janvier 2011
4 janv. 2007 à 18:11
excuse moi mais pas %2.f erreur de frape mais %.2f
0
wxccxw Messages postés 755 Date d'inscription samedi 15 mai 2004 Statut Membre Dernière intervention 30 janvier 2011
4 janv. 2007 à 18:14
int x = 100;
int y = x/3;
sprintf(bfr,"%2.f",y);
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
4 janv. 2007 à 18:21
wxccxw, prépare un peu tes message (et relis toi si possible) au lieu de donner plusieurs réponses erronées à la suite.
int y = x/3; donnera 33 (division entière)

_____________________________________
Un éditeur de ressources gratuit pour Windows
0
Rejoignez-nous