How to write a value with zeros before the value in matlab?
1 view (last 30 days)
Show older comments
Farshid Daryabor
on 14 Nov 2016
Commented: Farshid Daryabor
on 14 Nov 2016
Dear,
how to write/print a value with zeros before the value by the sprintf function, e.g., writing/printing the following form;
test_007120128O.nc
data_013587626O.nc
Regards,
0 Comments
Accepted Answer
Adam
on 14 Nov 2016
Edited: Adam
on 14 Nov 2016
sprintf( '%05.3d', 20 )
for example will pad leading 0s upto the number you specify (5 in this case, including the 20, so 3 additional 0s), but to get what you want depends what exactly you are starting with. If you always want 9 digits then
sprintf( '%09d', yourNumber )
should work
doc sprintf
covers this if you click on the 'formatSpec' hyperlink.
2 Comments
Adam
on 14 Nov 2016
Edited: Adam
on 14 Nov 2016
In response to what you posted below, the syntax you posted doesn't seem to work at all, to even give what you show, but this works for me:
file=sprintf('%s%s_%09dO.nc', directory,'test',mynumber)
It is the rest of your sprintf format specification and input arguments that appear to not be quite right. For a start you specify 4 distinct fields, but only supply 3 inputs. The final %s that you have should not be there and mynumber should not be in a string.
More Answers (1)
Farshid Daryabor
on 14 Nov 2016
1 Comment
Adam
on 14 Nov 2016
Please add as a comment to an answer rather than a new answer as it is less confusing.
See Also
Categories
Find more on Environment and Settings in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!