我想在qttextedit中显示一个double。例如,如果我有
double f = 0.0;
我做了
ui.textEdit->insertPlainText("f = "+ QString::number(f ));
我得到了
f = 0
我想展示
f = 0.000
我想要的小数位数。
无论如何要这样做..
答案 0 :(得分:1)
我现在无法测试,但我会尝试ui.textEdit->insertPlainText(QString("f = %1").arg(f, 5, 'g', -1, QLatin1Char('0')));
有关详细信息,请参阅this。
答案 1 :(得分:1)
您至少有两个Qt选项:
1)QString & QString::sprintf ( const char * cformat, ... )
QString result;
double f = 0.000;
result.sprintf("%.3f", f);
ui.textEdit->insertPlainText(result);
double f = 0.000;
QTextStream standardOutput(stdout);
standardOutput << QStringLiteral("f = %1").arg(f, 0, 'f', 3) << "\n";
在这里,您可以找到易于运行的测试代码,以便进行验证。
#include <QString>
#include <QTextStream>
int main()
{
QString result;
double f = 0.000;
result.sprintf("%.3f", f);
QTextStream standardOutput(stdout);
standardOutput << QStringLiteral("f = %1").arg(f, 0, 'f', 3) << "\n";
standardOutput << "f = " << result << "\n";
return 0;
}
TEMPLATE = app
TARGET = main
QT = core
SOURCES += main.cpp
qmake && make && ./main
f = 0.000
f = 0.000