如何将“双”格式设置为6位十进制数字到QString?

时间:2013-06-27 21:20:09

标签: c++ qstring

我想将一个双精度放入一个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位数的科学记数法。

1 个答案:

答案 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";
    }