Rundungs- bzw. Typumwandlungsprobleme

Verschiedenes zu Qt
Antworten
donchris
Beiträge: 6
Registriert: 13. September 2009 12:48

Rundungs- bzw. Typumwandlungsprobleme

Beitrag von donchris »

Mein erstes Qt Programm sollte ein kleiner Taschenrechner sein, der soweit funktioniert.

Doch nun wollte ich die Genauigkeit erhöhen und die Funktion einer einstellbaren "Dezimalstellenanzahl" implementieren. Damit man einen größeren Spielraum hat, habe ich die "Berechnungs-" Variable von int auf qlonglong umgestellt.

Bei einigen Rechnungen fehlen aber Stellen, also wenn zB etwas wie 9232139 * 10^57 rauskommen sollte, bekomme ich zB: 92321398798.

Doch mein Hauptproblem ist im Moment eine Ausgabe mit einer vordefinierten Anzahl der Rundungsgenauigkeit (oder Anzahl der Kommastellen).

Code: Alles auswählen

//ui->lineEdit->setText(QString::number(act));
ui->lineEdit->setText(QString("%1").arg(act,0,'f',4));
Mein "alter" funktionierender Code steht auskommentiert, der neue beginnt in Zeile 2. Nun bekomme ich aber immer folgende Meldung:
error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
INFO: act ist eine qlonglong Variable, in der das Resultat liegt.

mfg
donchris
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Es gibt keine Funktion QString::arg(qulonglong, int, char, int). Siehe http://doc.trolltech.com/4.4/qstring.html#arg-15
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten