我正在使用.append
操作数尝试double
我的QString,其中包含两个%
值。我在QString类参考文档中看到以下示例,用于将arg
与double一起使用,但该示例不包括附加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);
谢谢
答案 0 :(得分:6)
试试这个:
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的方法,必须与它的实例一起使用。在你不工作的例子中,你不这样做。
答案 1 :(得分:4)
使用此
str.append(QString("%1:%2").arg(d1, d2));
或
str.append(QString("%1:%2").arg(d1).arg(d2));