Convert an int to a QString with zero padding (leading zeroes)

elcuco picture elcuco · Apr 11, 2010 · Viewed 90.2k times · Source

I want to "stringify" a number and add zero-padding, like how printf("%05d") would add leading zeros if the number is less than 5 digits.

Answer

chalup picture chalup · Apr 11, 2010

Use this:

QString number = QStringLiteral("%1").arg(yourNumber, 5, 10, QLatin1Char('0'));

5 here corresponds to 5 in printf("%05d"). 10 is the radix, you can put 16 to print the number in hex.