0

我想将一个 double 放入一个 QString 中,其格式产生 6 个十进制数字。

IE。%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 位的科学记数法。

4

1 回答 1

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";
    }
于 2013-06-28T16:34:16.133 回答