double to char
-
problem:
ich habe einen double-wert (double x=140050618155.000000) den ich in char umwandeln will, allerdings ohne punkt und nachkommastellen (so etwa char y[]="140050618155").
wie geht das?
-
warum liest du nicht die FAQ vor dem Fragen?
http://www.c-plusplus.net/forum/viewtopic.php?t=39488
die Umwandlung kannst du mit folgenden Manipulatoren beeinflussen
http://userpage.fu-berlin.de/~ram/pub/pub_ciralun/c++_zahlenformatierung_de
-
#include <iostream> #include <string> #include <sstream> int main( ) { double zahl = 140050.000000; std::string string; std::stringstream ss; ss << zahl; ss >> string; ss.clear(); std::cout << string; return 0; }
-
super, danke für die tipps... (sorry an kingruedi, an die faq hatte ich nicht gedacht)
mein code sieht jetzt so aus:
#include <iostream> #include <ostream> #include <iomanip> double x=140050618155.000000; void main() { ::std::cout<< ::std::setprecision( 20) << x << "\n"; }
ich bekomme also die ausgabe die ich gerne möchte. geht es auch irgendwie, dass ich auf den wert, der mir jetzt ausgegeben wird, nachher noch zugreifen kann? also dass das ganze als char unter einer variablen gespeichert wird?
-
hab ich das nicht oben gemacht?
-
hm, das hast du wohl, aber ich bin anfänger und weiß nicht so wirklich was genau du da machst...
-
er benutzt stringstreams, dass sind streams, die eben anstelle auf stdout (wie cout) oder auf Dateien (wie fstream) auf Strings arbeiten.