Qtをメインに、プログラムやITに関する情報を発信

Qtの戯言

QString

Qtで数値を文字列(QString)に変換する

投稿日:

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」を大文字とするか小文字とするかの違い)
この時、第三引数の数値は、有効桁数です。

第二引数の詳細は、こちらを参照。

 

-QString
-, ,

Copyright© Qtの戯言 , 2020 All Rights Reserved Powered by STINGER.