0

double を QString に 6 桁の 10 進数を生成する形式で配置したいと考えています。

すなわち。%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 に答える