Convert array of numbers to an array of padded strings

9 views (last 30 days)
I have an array of numbers to convert to an array of strings.
>> stanums = 7:12;
>> stastrings = string( stanums );
stanums =
7 8 9 10 11 12
stastrings =
"7" "8" "9" "10" "11" "12"
How can I have the strings zero-padded? ie "07" "08" etc.
I tried with num2str, but can only manage that using a loop, and I would really like a more elegant way as my code has far too many loops in it already.

Answers (2)

Star Strider
Star Strider on 27 Sep 2023
Use the compose function —
stanums = 7:12;
stastrings = compose("%02d", stanums)
stastrings = 1×6 string array
"07" "08" "09" "10" "11" "12"
Note the format descriptor string.
.

Fangjun Jiang
Fangjun Jiang on 27 Sep 2023
stanums = 7:12;
s=sprintf('%02d\n',stanums(:))
s =
'07 08 09 10 11 12 '

Categories

Find more on Characters and Strings in Help Center and File Exchange

Products


Release

R2023b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!