2009-05-19 61 views
5

我正在使用Qt並希望在標籤中打印數據值(雙精度型);但是,尾隨的零被刪除。我知道在C中,我可以使用printf(「%0.1f」,數據)來保留尾隨零。在QString中打印尾隨零

我看着QString的arg函數,但只允許設置整個字段寬度。 setNum and number每個都允許設置精度,但這也不正確。

示例代碼:

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

回答

6

看靜態函數QString::number()與格式和精度參數。

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

參考: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 2009-05-19 23:39:23

3

爲什麼不使用QString :: sprintf的()?

QString().sprintf("%08d + rest of the string", 7);