Seite 1 von 1

Zahl formatieren mit sprintf

Verfasst: 8. Oktober 2009 11:09
von schlingel
Hallo,

ich (mit Qt Creator 1.2.1, Qt 4.5.3) möchte eine Zahl in der folgenden Weise formatieren:

2 - >000002
12 -> 000012.

Es sollen also Nullen vorne rangehängt werden. Das sollte mit sprintf gehen:

Code: Alles auswählen

quint32 num = 2;
QString str = " ";
str.sprintf('%6.0f', num);
Ich bekomme die Fehlermeldungen:
warning: character constant too long for its type
error: invalid conversion from `int' to `const char*'
error: initializing argument 1 of `QString& QString::sprintf(const char*, ...)'

Könnt Ihr mit bitte helfen.

Danke

Re: Zahl formatieren mit sprintf

Verfasst: 8. Oktober 2009 11:24
von Curtis Newton
schlingel hat geschrieben:Hallo,

Code: Alles auswählen

quint32 num = 2;
QString str = " ";
str.sprintf('%6.0f', num);
' ist was anderes als "

C.

Re: Zahl formatieren mit sprintf

Verfasst: 8. Oktober 2009 16:16
von schlingel
Curtis Newton hat geschrieben:
schlingel hat geschrieben:Hallo,

Code: Alles auswählen

quint32 num = 2;
QString str = " ";
str.sprintf('%6.0f', num);
' ist was anderes als "

C.
Danke. Aber wo ist da genau der Unterschied? Ist das eine ein char und das anderen ein string?

Danke

Verfasst: 8. Oktober 2009 20:05
von Curtis Newton
Das eine ist eine Zeichenkonstante, das andere eine Zeichenketten-Konstante. Reicht bestimmt zum googeln ;-)

C.

Verfasst: 9. Oktober 2009 07:54
von B4chi
Hi,

wenn es nicht sprintf sein muss:

z.Bsp.:

Code: Alles auswählen

unsigned int val;
QString str;

val = 4;
str.append(QString("%1").arg(val, 6, 10, QChar('0')));

Verfasst: 12. Oktober 2009 16:23
von schlingel
danke