1

我的程序中有以下代码行:

long double endJD = 2456541.41563;
QString tempString = "";
tempString.append(QString::number((double) endJD));

QMessageBox msgBox;
msgBox.setText(tempString);
msgBox.exec();

它运行良好,但输出为:2.45654e+06 那么我怎样才能获得所需小数位的输出数字?我可以删除一些小数,但我希望输出中至少有两个小数点。

4

1 回答 1

4

您需要将格式说明符传递给 QString::number。

tempString.append(QString::number((double) endJD, 'f'));

Qt 文档中可用的格式,

e   format as [-]9.9e[+|-]999
E   format as [-]9.9E[+|-]999
f   format as [-]9.9
g   use e or f format, whichever is the most concise
G   use E or f format, whichever is the most concise

如果您不指定一个,它将默认为“g”。

于 2013-09-05T22:03:49.243 回答