2009-05-19 51 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);