ausgabe von zahlen
-
hi , wie formatiere ich denn am besten zahlen mit punkt und komma also z.b 1.000,00 ???? gibs da vielleicht ne insertfunktion für strings???
-
den tausender punkt kuss du dir selbst progen
und sonst http://cplus.kompf.de/artikel/stream2.html
-
den tausender punkt kuss du dir selbst progen
Nicht unbedingt. Mit einem entsprechenden facet, geht das fast wie von selbst:
#include <locale> #include <iostream> #include <string> using namespace std; class mygrouping : public std::numpunct_byname<char> { public: mygrouping(const char* name) : std::numpunct_byname<char>(name) {} protected: std::string do_grouping() const { // Die Zahl an Index i des Strings gibt die Anzahl der Stellen // der i-ten Gruppe in der Zahl an. Dabei geht es von rechts nach links. // "\3" bedeutet: Gruppen besten aus drei Ziffern. // "\2\3" bedeutet: erste Gruppe drei Ziffern. Alle weiteren nur zwei return "\3"; } // Zeichen für die Gruppierung char do_thousands_sep() const { return '.'; } // Zeichen für Dezimalpunkt. char do_decimal_point() const { return ','; } }; int main() { #if defined (_MSC_VER) && _MSC_VER <= 1200 std::locale loc = _ADDFAC(std::locale(""), new mygrouping("")); #else std::locale loc(std::locale(""), new mygrouping("")); #endif std::locale old = cout.imbue(loc); // Gibt 1.000.000.000 aus cout << 1000000000 << endl; // Gibt 3,14159 aus cout << 3.14159 << endl; cout.imbue(old); }