2013-04-03 53 views
2

我想.append我的QString使用的%操作数的double值追加为QString。我看到下面的例子QString类参考文档中使用arg双,但如不包括附加的STR:如何使用“%”操作数

double d = 12.34; 
QString str = QString("delta: %1").arg(d); 

这里是我的代码。它不包含任何运行时错误,但它没有把我的双打在%操作数,而是包括我的1%和2%作为普通字符串太:

double d1 = 0.5,d2 = 30.0 
QString str = "abc"; 
str.append("%1 def %2").arg(d1).arg(d2); 

谢谢

回答

5

尝试:

double d1 = 0.5,d2 = 30.0 
QString str = "abc"; 
str.append(QString("%1").arg(d1)); 
str.append(" def "); 
str.append(QString("%1").arg(d2)); 

[EDITED]的一点是,将“ARG”是一类的QString的方法,必须与它的一个实例中使用。在你不工作的例子中,你不这样做。

+0

谢谢,这是现在的工作: “str.append(QString的( “%1闪避%2”)ARG(D1)。 ARG(D2));” 请问为什么它现在在工作? –

+0

现在很清楚谢谢 –

+0

@duDE:谢谢你的解释,我一直跟Rania-Boy一样犯了同样的错误,但是由于你的解释,我可能会记得在下次正确的时候这样做:-) – Wim

4

使用此

str.append(QString("%1:%2").arg(d1, d2)); 

str.append(QString("%1:%2").arg(d1).arg(d2)); 
+0

谢谢,它现在有效,但它为什么不是之前? –