繁体   English   中英

如何将格式化为6个十进制数字的“ double”放入QString?

[英]how to place a “double” formated to 6 decimal digits into a 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位数的科学计数法。

这就是我获得888888.888888的目的:

 for(int i; i < m_iBuild; i++){
        out << QString::number(dLog[i] - dLog[0], 'f', 6) << "\t" << msgList.at(cLog[i]) << "\n";
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM