Formatage des nombres, help

gege1024 Messages postés 138 Date d'inscription vendredi 10 janvier 2003 Statut Membre Dernière intervention 27 janvier 2009 - 12 mai 2004 à 20:22
gege1024 Messages postés 138 Date d'inscription vendredi 10 janvier 2003 Statut Membre Dernière intervention 27 janvier 2009 - 12 mai 2004 à 22:25
voila un exemple de petit calcul
avec par exemple: origine=2088 , Reso=0.5

comment dois-je declarer le type des variables pour que le resultat que j'ecris dans un fichier soit de la forme:2087999.75 et non 2.088e+006 (a peu pres)

delta_X = ((origine_x*1000) + (Reso/2));

ps: en utilisant FILE* j'y arrive en declarant des float mais je veux utiliser ofstream (la j'y arrive pas)

ofstream fic_out(Fic_tfw);

fic_out<<Reso<<"\n"<<0<<"\n"<<0<<"\n"<<Reso<<"\n"<<delta_X<<"\n"<<delta_Y;

fic_out.close();

10 réponses

cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
12 mai 2004 à 21:02
#include
#include

using namespace std;

int main()
{
ofstream file("float.txt");

float origine=2088 , Reso=0.5;
float delta_X = ((origine*1000) + (Reso/2));

file << setprecision(20) << delta_X;
}
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
12 mai 2004 à 21:10
pour la forme

float origine=2088.0f , Reso=0.5f;
float delta_X = ((origine*1000.0f) + (Reso/2.0f));

la on travail sur des float (j'ai oublié)
0
gege1024 Messages postés 138 Date d'inscription vendredi 10 janvier 2003 Statut Membre Dernière intervention 27 janvier 2009
12 mai 2004 à 21:19
tu as testé ?
parce que chez moi ca marche toujours pas.
mon code:

float origine_x, origine_y;

float delta_X = ((origine_x*1000) + (Reso/2));
float delta_Y = ((origine_y*1000) - (Reso/2));

ofstream fic_out(Fic_tfw);
fic_out<<Reso<<"\n"<<0<<"\n"<<0<<"\n"<<Reso<<"\n"<<setprecision(20)<<delta_X<<"\n"<<delta_Y;
fic_out.close();

ps: avec origine_x=327 origine_y=2088 Reso =0.5
0
gege1024 Messages postés 138 Date d'inscription vendredi 10 janvier 2003 Statut Membre Dernière intervention 27 janvier 2009
12 mai 2004 à 21:27
le hic est que je recupere les variables dans un autre fichier:

ifstream fic_in(Fic_geo);
fic_in>>taille_img_x>>taille_img_y>>origine_x>>origine_y;
fic_in.close();

et Reso est un parametre de ma fct.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
12 mai 2004 à 21:29
#include
#include <fstream>
#include

using namespace std;

int main()
{
ofstream file("float.txt");

float origine=2088 , Reso=0.5;
float delta_X = ((origine*1000) + (Reso/2));

file <<Reso<<"\n"<<0<<"\n"<<0<<"\n"<<Reso<<"\n"<<setprecision(20)<<delta_X<<'\n';

}

ca marche, pas de probleme, si tu revoie le me code ca marchera, montre donc ton code

les varaibles que tu recupere du fichier sont bien formaté ?

ps : tu aussi post fixer la precision, rajoute avant d'ecrire

file.setprecision(20);
0
gege1024 Messages postés 138 Date d'inscription vendredi 10 janvier 2003 Statut Membre Dernière intervention 27 janvier 2009
12 mai 2004 à 21:36
le pb est sur delta_Y (soustraction de Reso/2)
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
12 mai 2004 à 21:40
juste delta_Y ? alors la je vois pas

tu aurais pas le bout de code en question (complet si possible ) ?
0
gege1024 Messages postés 138 Date d'inscription vendredi 10 janvier 2003 Statut Membre Dernière intervention 27 janvier 2009
12 mai 2004 à 21:47
donne ton mail, je t'envoie le projet et qqs explications

ce sera plus simple
0
Hylvenir Messages postés 364 Date d'inscription mercredi 11 février 2004 Statut Membre Dernière intervention 5 octobre 2006 2
12 mai 2004 à 22:12
fic_out.setf( ios::fixed );

Ma participation à la saturation du net:
http://hylvenir.free.fr
0
gege1024 Messages postés 138 Date d'inscription vendredi 10 janvier 2003 Statut Membre Dernière intervention 27 janvier 2009
12 mai 2004 à 22:25
NICKEL un grand merci
0
Rejoignez-nous