Hallo,
ich schreibe eine wissenschaftliche Anwendung unter Qt
Ich habe das Problem das ich in einigen Programmteilen enorme Mengen an Zahlenvariablen habe, die ich in ein Textfile mittels QTextstream schreibe in der Art:
file_ << zahl1 << "\t" << zahl2 << endl;
wie kann ich es erreichen dass diese Zahlen ein deutsches Komma als Dezimaltrenner verwenden?
Ich könnte jede Zahl erst in einen String verwandeln, diesen dann auf Komma umschreiben und dann in das file senden, doch wenn das direkt ging müsste ich diesen Aufwand nicht für alle Variablen tätigen.
Weiß jemand rat?
danke Torben
[gelöst] Zahlen in Textdatei schreiben, aber Komma statt Pkt
[gelöst] Zahlen in Textdatei schreiben, aber Komma statt Pkt
Zuletzt geändert von Zonk am 25. April 2008 10:45, insgesamt 1-mal geändert.
-
dontinelli
- Beiträge: 146
- Registriert: 22. September 2006 20:53
Ich würde mal auf korrekte Lokalisierung tippen.
Doku hilft wie fast immer weiter:
Doku hilft wie fast immer weiter:
For localized numbers use the QLocale class.
Danke, auf genau die Methode bin ich auch grad gekommen 
Habe immer bei QTextEdit gesucht, dabei war das garnicht der Schuldige!
Für alle die das gleiche Problem haben, hier die Kurzform:
Locale setzen:
QLocale locale(QLocale::German);
QLocale::setDefault(QLocale::German);
Für die Umwandlung von Zahl zu String und andersherum nicht mehr QString nutzen, sondern die locale-Funktionen. Z.B.:
locale.toString(zahl);
oder
locale.toInt ( "123");
die gewünschten Einstellungen bezüglich Zahldarstellung lassen sich in QLocale gut einstellen.
Danke, Torben
Habe immer bei QTextEdit gesucht, dabei war das garnicht der Schuldige!
Für alle die das gleiche Problem haben, hier die Kurzform:
Locale setzen:
QLocale locale(QLocale::German);
QLocale::setDefault(QLocale::German);
Für die Umwandlung von Zahl zu String und andersherum nicht mehr QString nutzen, sondern die locale-Funktionen. Z.B.:
locale.toString(zahl);
oder
locale.toInt ( "123");
die gewünschten Einstellungen bezüglich Zahldarstellung lassen sich in QLocale gut einstellen.
Danke, Torben