Seite 1 von 1

[gelöst] Zahlen in Textdatei schreiben, aber Komma statt Pkt

Verfasst: 25. April 2008 09:49
von Zonk
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

Verfasst: 25. April 2008 10:01
von dontinelli
Ich würde mal auf korrekte Lokalisierung tippen.
Doku hilft wie fast immer weiter:
For localized numbers use the QLocale class.

Verfasst: 25. April 2008 10:45
von Zonk
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