我的程序中有以下代码行:
long double endJD = 2456541.41563;
QString tempString = "";
tempString.append(QString::number((double) endJD));
QMessageBox msgBox;
msgBox.setText(tempString);
msgBox.exec();
它运行正常,但输出来了:2.45654e + 06所以如何获得所需小数位的输出数?我可以删除一些小数,但我想在输出中最少两个小数点。
答案 0 :(得分:4)
您需要将格式说明符传递给QString :: number。
tempString.append(QString::number((double) endJD, 'f'));
Qt docs提供的格式,
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”。