Seite 1 von 1

[gelöst] Text in Datei schreiben

Verfasst: 13. August 2018 16:05
von KuhTee
Hallo,
ich möchte Zahlen formatiert in eine Textdatei schreiben. Meine Qt Lösung ist aufwendig. Bei der Qt-Lösung stören auch die 1000er '.'
Gibt es es eine einfachere Möglichkeit?
Gruß
KuhTee

Früher ( geht heute immer noch)

Code: Alles auswählen

FILE *opf;
double zahl=12.8765;
opf=fopen("daten.txt","w");
fprintf(opf,"%10.3f,zahl);
....
Meine Qt-Lösung

Code: Alles auswählen

QFile file;
QLocale locale = QLocale(QLocale::German, QLocale::Germany);
QString ausgabe;
double zahl=12.8765;
file.setFileName("daten.txt");
file.open(QIODevice::WriteOnly | QIODevice::Text);
ausgabe = QString("%1").arg(locale.toString(zahl,'f',3),10);
file.write ( ausgabe.toLatin1() );

Re: Text in Datei schreiben

Verfasst: 13. August 2018 19:35
von Christian81
Ich sehe keinen großen Unterschied. Außer dass Du in der C-Version die C-Locale benutzt, in der Qt-Version die de-DE Locale. Was Du in Qt suchst ist wohl QString::number() --> http://doc.qt.io/qt-5/qstring.html#number+

Code: Alles auswählen

QFile file ("daten.txt");
double zahl = 12.8765;
file.write ( QString::asprintf("%10.3f, zahl).toLatin1() );

Re: Text in Datei schreiben

Verfasst: 14. August 2018 21:29
von KuhTee
Danke !
Geht ja ganz einfach !