Seite 1 von 1

Kommastellen

Verfasst: 18. April 2012 17:13
von DBGTMaster
Warum wird mir hier immer eine Zahl ohne Kommestellen ausgegeben??

Code: Alles auswählen

qDebug() << static_cast<float>( static_cast<float>(row["throughput"].toFloat()) / 1024.0 );
Ausgabe: 23

Setze ich jedoch eine beliebige Zahl ein:

Code: Alles auswählen

static_cast<float>( static_cast<float>(14) / 1024.0 );
So werden mir Kommastellen ausgegeben...

Warum in Beispiel 1 nicht??


Edit:

Code: Alles auswählen

    qDebug() << static_cast<float>( static_cast<float>(num.toFloat()) / 1024.0 );
    qDebug() << num;
    qDebug() << static_cast<float>( static_cast<float>(row["throughput"].toFloat()) / 1024.0 );
    qDebug() << row["throughput"];
Gibt aus:
0.0283203
QVariant(int, 29)
23
QVariant(qulonglong, 23552)
Wie genau muss ich ein "qulonglong" konventieren, um Komma zu erhalten??

lG

Re: Kommastellen

Verfasst: 18. April 2012 17:21
von franzf
Ist row["throughput"] vllt. zufällig genau 23552?
Zeig mal ein komplettes Programm (kompilierbar + ausführbar, muss ja nicht lang sein), das dein Problem aufzeigt.

Re: Kommastellen

Verfasst: 18. April 2012 17:22
von franzf
Da war dein edit schneller als meine Antwort - und ich habe richtig gelegen :P
Teil mal 23552 durch 1024 - da brauchts kein floast um exakt zu sein ^^

Re: Kommastellen

Verfasst: 20. April 2012 10:07
von DBGTMaster
Ich sollte lernen, mit meinen Taschenrechner, zu rechnen...

Hatte vorher extra noch gerechnet, ob da eh ein Rest rauskommt :D.