2017-02-13 3 views
1

Entschuldigen Sie die einfache Frage, aber ich bin nicht wirklich ein C++ - Entwickler.Convert double toLocal8Bit

Ich versuche, ein Doppel zu local8Bit für qDebug zu konvertieren.

ZB:

// This works because m_desc is a QString 
qDebug("Description: " + m_desc.toLocal8Bit()); 

// This doesn't work because m_price is a double 
qDebug("Price: " + m_price.toLocal8Bit()); 

Jede Hilfe sehr geschätzt werden würde :)

Antwort

0

Sie sind richtig, QString::toLocal8Bit Werke auf Saiten nur. Versuchen Sie stattdessen QString::number .

Aus der Dokumentation:

QString::number(double n, char format = 'g', int precision = 6) 

Beispielimplementierung:

qDebug() << QString::number(m_price); 
+0

Können Sie mir ein Beispiel, wie ich das umsetzen kann, damit mein 'qDebug' funktioniert? –

+0

Bearbeitete meine Antwort, um eine Beispielimplementierung einzuschließen. – gortsu

+0

Ich versuchte dies: 'qDebug() << QString :: number (m_price);' und es gibt den folgenden Fehler -> 'ungültige Verwendung von unvollständigen Typ 'Klasse QDebug'' –

0

Es gibt keinen Grund, irgendetwas davon zu tun. Feed die Zahlen direkt an qDebug. Diese Klasse wurde entwickelt, um einfach schnell zu verwenden, um die Ausgabe, die Sie brauchen:

qDebug() << "Price:" << m_price; 

Wenn Sie die Kontrolle über die genaue Formatierung der Nummer haben müssen, verwenden Sie QString::number:

qDebug() << "Price:" << QString::number(m_price, 'f', 2);