QString::number()を使用して、数値を文字列に変換するメモ。
int i = 10; // 10進数として文字列化 qDebug() << QString::number(i); // 8進数として文字列化 qDebug() << QString::number(i, 8); // 16進数として文字列化(アルファベット小文字) qDebug() << QString::number(i, 16); // 16進数として文字列化(アルファベット大文字) qDebug() << QString::number(i, 16).toUpper(); double d = 12.3456789; // 浮動小数12.3456789を小数点以下1桁で指数表記 qDebug() << QString::number(d, 'e', 1); // 浮動小数12.3456789を小数点以下7桁で指数表記 qDebug() << QString::number(d, 'e', 7); // 浮動小数12.3456789を小数点以下1桁で小数表記 qDebug() << QString::number(d, 'f', 1); // 浮動小数12.3456789を小数点以下7桁で小数表記 qDebug() << QString::number(d, 'f', 7); // 浮動小数0.0000001を有効桁数7桁で簡潔表記 qDebug() << QString::number(0.0000001, 'g', 7); // 浮動小数1.2345678を有効桁数7桁で簡潔表記 qDebug() << QString::number(1.2345678, 'g', 7);
"10" "12" "a" "A" "1.2e+01" "1.2345679e+01" "12.3" "12.3456789" "1e-07" "1.234568"
少数を変換する場合、第二引数に'e'または'E'を指定すると指数表記、'f'を指定すると少数表記になります。(大文字・小文字の違いは、指数を表す「E」を大文字とするか小文字とするかの違い)
この時、第三引数の数値は、小数点以下の桁数です。
第二引数に'g'または'G'を指定すると、指数表記と少数表記のうち、より簡潔に表現できる方で変換されます。(大文字・小文字の違いは、指数表記が簡潔であった場合に、「E」を大文字とするか小文字とするかの違い)
この時、第三引数の数値は、有効桁数です。
第二引数の詳細は、こちらを参照。