Rundungs- bzw. Typumwandlungsprobleme
Verfasst: 17. September 2009 13:53
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).
Mein "alter" funktionierender Code steht auskommentiert, der neue beginnt in Zeile 2. Nun bekomme ich aber immer folgende Meldung:
mfg
donchris
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));INFO: act ist eine qlonglong Variable, in der das Resultat liegt.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:
mfg
donchris