formatierte ausgabe einer zahl (tausender stellen)
-
hi,
ich beabsichtige den wert einer double variable z.b. 12345.67 in
12.345,67 umzuwandeln (tausenderstellen).
dies müsste doch eigentlich mit sprintf funktionieren.
die umwandlung sollte in einen char-wert erfolgen.
man sprintf... Für einige numerische Umwandlungen wird ein Radixzeichen ("Dezi- malkomma") oder ein Tausender-Gruppierungszeichen verwendet. Des tatsächlich benutzte Zeichen hängt vom LC_NUMERIC-Teil der Locale ab. Die POSIX-Locale benutzt `.' als Radixzeichen und hat kein Grup- pierungszeichen. Damit resultiert printf("%'.2f", 1234567.89); in `1234567.89' in der POSIX-Locale, in `1234567,89' in der Locale nl_NL und in `1.234.567,89' in der Locale da_DK.
irgenwie vertehe ich jedoch nicht, wie ich hierbei die locale da_DK diesbezüglich nutzen kann?
hat jemand für mich ein kleines beispiel <plz> ?cu...
daniel
-
Keine Ahnung wie das mit printf() gehen soll,
machs doch mit cout manuell:
(ungefähr so)[quote]cout << int(n/1000) << "," << "..."; /*da gabs so ne funktion: alles nach dem komma abtrennen...*/
MfG RoaN;
-
thx,
nee, das ist nicht was ich suche ...
-
Hallo,
schau dir mal die Funktion setlocal an.Falls du lieber mit den C++ Streams arbeitest, dann solltest du dir locale, basic_ios::imbue und das Facette moneypunct anschauen.