hello

Je ne parviens pas a afficher ce que je veux:
disons que j'enregistre dans un champ A de type : double precision la valeur 5000000000000000000

celon pgadmin3 et le shell ,le contenu est : 5e+18

donc comment afficher avec std::cout la valeur 5e+18 sous la forme de 5000000000000000000 ?

voila un petit bout de code (pas aux point mai pour donner une idée)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
 
void cSqlPqxx::AfficheAll(){
	if (auto_transaction){ cSqlPqxx::StartTransaction(); } //permet la requette
  	const pqxx::result& r =(*p_work).exec(cSS.Get_AfficheFull());//Get_AfficheFull est la requette
    for (pqxx::result::const_iterator cit = r.begin();
         cit != r.end();//boucle sur le nombre de tuple (ligne renvoiyée)
         ++cit)
    {
		//boucle sur les collonnes
		for (unsigned int countcol = 0; countcol < r.columns();countcol++){
			//je gere de cette menière le type de donnée peut etre il y a mieux  ?
			switch ((*cit).column_type(countcol))
			{
			case 23: //std::cout << r.column_name(countcol) << " ===>" << 	(*cit).column_type(countcol) << std::endl;// int --> int
					std::cout <<(*cit)[countcol].as(int ()) << std::endl;
			break;
 
			case 25://std::cout << r.column_name(countcol) << " ===>" << 	(*cit).column_type(countcol) << std::endl;//std::string -->text
					std::cout <<(*cit)[countcol].c_str() << std::endl;
			break;
 
			case 20://std::cout << r.column_name(countcol) << " ===>" << 	(*cit).column_type(countcol) << std::endl;//long-->big int
					std::cout <<(*cit)[countcol].as(int ()) << std::endl;
			break;
			case 700://std::cout << r.column_name(countcol) << " ===>" << (*cit).column_type(countcol) << std::endl; //float -->real
					std::cout <<(*cit)[countcol].as(float ()) << std::endl;
			break;
			case 701://std::cout << r.column_name(countcol) << " ===>" << (*cit).column_type(countcol) << std::endl; //double -->real
					std::cout << (*cit)[countcol].as(double ()) << std::endl;
			break;
			default:
				std::cout << r.column_name(countcol) << "ERREUR type non gérer!===>" << (*cit).column_type(countcol) << std::endl; //float -->real
			}
		}
    }
 
 
	if (auto_transaction){ cSqlPqxx::Commit(); }
}
la doc
http://pqxx.org/devprojects/libpqxx/...tml/Reference/
lien direct sur la fonction:
http://pqxx.org/devprojects/libpqxx/...ce/a00076.html

certainement un problème avec std::cout << (*cit)[countcol].as(double ()) << std::endl;
mai je ne voit pas ce que je peux faire ??