我想将一个双精度放入一个QString,其格式为6位十进制数。
即。 %1.6F
这与内存转储崩溃:
char *x = (char*)malloc(20 * sizeof(char));
for(int i; i < m_iBuild; i++){
std::fill_n(x, 20, '\0');
sprintf(x, "%1.12f", dLog[i]);
out << x << "\t" << msgList.at(cLog[i]) << "\n";
}
如果我只是将dLog [i]放入流中,我会得到5位数的科学记数法。
答案 0 :(得分:0)
这就是我做的888888.888888:
for(int i; i < m_iBuild; i++){
out << QString::number(dLog[i] - dLog[0], 'f', 6) << "\t" << msgList.at(cLog[i]) << "\n";
}