2009-05-19 9 views
5

Qtを使用していて、ラベルにデータ値(ダブル)を印刷する場合。ただし、末尾のゼロは切り捨てられます。私はCで、末尾のゼロを維持するためにprintf( "%0.1f"、データ)を使用できることを知っています。QStringの末尾のゼロを印刷する

私はQStringのargの機能を調べましたが、全体のフィールド幅のみを設定することができました。 setNum数字のそれぞれは、精度を設定することができますが、それも正しくありません。

例コード:フォーマットと精度引数を持つ静的関数QString::number()

double data = 1.0; 
label->setText(QString().number(data); 

答えて

6

ルック。

QString QString::number(double n, char format = 'g', int precision = 6) 

参考:()QStringの:: sprintfのを使用しないのはなぜhttp://doc.qtsoftware.com/4.5/qstring.html#number-2

+0

'g'に 'f'が含まれているため、フォーマットをデフォルトの 'g'から 'f'に変更しています。 'f'の記述にもいくつかの言葉がありませんでした。 正解: double data = 1.0; label-> setText(QString()。number(data、 'f'、1); – dwj

3

QString().sprintf("%08d + rest of the string", 7); 
関連する問題