printf große Zahlen Tausender-Trennpunkte?
-
Hallo Werner,
Ich dachte mir bereits dass das mit Templates geht aber mir war klar dass die Lösung mein Können überschreiten würde.
Von daher: vielen Dank!
-
SeppJ schrieb:
Kellerautomat schrieb:
Was macht denn do_grouping?
http://www.cplusplus.com/reference/std/locale/numpunct/do_grouping/
LOL, wer hat denn das designt?
-
Kellerautomat schrieb:
SeppJ schrieb:
Kellerautomat schrieb:
Was macht denn do_grouping?
http://www.cplusplus.com/reference/std/locale/numpunct/do_grouping/
LOL, wer hat denn das designt?
Das war wohl jemand, der sich überlegt hat, wie man auch die Zahlen in Nepal korrekt mit Tausendertrenner schreiben kann. Lt. Frau Langer schreiben die dort z.B. 10.20.300 für 1Million-20Tausend-300Hundert. Wie hättest Du's gemacht?
Gruß
Werner
-
Für printf gehts mit POSIX und dem Apostroph
#include <stdio.h> #include <locale.h> int main() { setlocale(LC_NUMERIC,"german"); printf("%'lu",1111111111UL); return 0; }
-
Werner Salomon schrieb:
Wie hättest Du's gemacht?
Z.B. vector<unsigned>, aber ein string ist so ziemlich der ungeeignetste Typ ueberhaupt.
-
Kellerautomat schrieb:
Werner Salomon schrieb:
Wie hättest Du's gemacht?
Z.B. vector<unsigned>,
Gab's damals noch nicht.
aber ein string ist so ziemlich der ungeeignetste Typ ueberhaupt.
Ein String ist doch praktisch ein vector<char>.
-
SeppJ schrieb:
Ein String ist doch praktisch ein vector<char>.
Nicht nur, dass char dafuer total unpassend ist (wenns wenigstens signed/unsigned char waere), finde ich, dass ein string mehr ist als ein blosses char[]. Er kann einfach viel mehr, das passt zu einer Zahlengruppierung einfach nicht.
-
Ist für dich ein vector<unsigned> das gleiche wie unsigned[]?
-
Wieso, er hat doch das Gegenteil gesagt?
-
Eisflamme schrieb:
Wieso, er hat doch das Gegenteil gesagt?
Ich habe gesagt, ein String ist praktisch vector<char>, er erwidert, ein String ist viel mehr als char[]. Also char[] == vector<char>?
-
Ah, jetzt versteh ich.
Nunja, er sieht für die Fragestellung aber offensichtlich einen char[] als vector<char> an, weil ein vector<char>/char[] eher "viele Zeichen ohne semantischen Zusammenhang" sind und ein string eben doch der Gesamtkette eher eine Bedeutung zuweist. So verstehe ich das, unterschreiben tue ich aber ohne Anwalt gar nichts.
-
Ein vector ist fuer mich ein verbessertes T[], ja. Und Eisflamme hat's richtig verstanden, ein string gibt dem ganzen eine semantische Bedeutung.