Ich möchte eine Zahl "stringifizieren" und eine Null-Auffüllung hinzufügen, so wie ich printf("%05d")
führende Nullen hinzufügen würde, wenn die Zahl weniger als 5 Stellen hat.
91
Benutze das:
QString number = QStringLiteral("%1").arg(yourNumber, 5, 10, QLatin1Char('0'));
5 hier entspricht 5 in printf("%05d")
. 10 ist der Radix, Sie können 16 setzen, um die Zahl in hex zu drucken.
"%1"
?%2
usw. Siehe doc.qt.io/qt-5/qstring.html#argQString QString :: rightJustified (int width, QChar fill = QLatin1Char (''), bool truncate = false) const
Ergebnis ist jetzt 00099
quelle
Das kurze Beispiel:
quelle
Versuchen:
BEARBEITEN: Gemäß den Dokumenten unter http://qt-project.org/doc/qt-4.8/qstring.html#sprintf :
Warnung : Wir empfehlen, QString :: sprintf () nicht in neuem Qt-Code zu verwenden. Verwenden Sie stattdessen QTextStream oder arg (), die beide Unicode-Zeichenfolgen nahtlos unterstützen und typsicher sind. Hier ist ein Beispiel, das QTextStream verwendet:
In den anderen Dokumenten finden Sie Informationen zu Funktionen, die bei dieser Methode fehlen.
quelle
Ich benutze eine Technik seit VB 5
quelle
Ich habe es versucht (was funktioniert, aber umständlich).
quelle