我想把一个双精度数放入一个格式为6位十进制数字的QString中。
即。%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";
}如果我只是将dLogi放入流中,我会得到5位的科学记数法。
发布于 2013-06-29 00:34:16
这就是我为了得到888888.888888所做的:
for(int i; i < m_iBuild; i++){
out << QString::number(dLog[i] - dLog[0], 'f', 6) << "\t" << msgList.at(cLog[i]) << "\n";
}https://stackoverflow.com/questions/17353413
复制相似问题