Number of leading zeroes as a variable
12 次查看(过去 30 天)
显示 更早的评论
I know that to print out a number with a certain amount of leading zeroes, you are supposed to use %0X, where X is the number of digits you want in your output. For example, sprintf('%06g',13) gives you the string '000013' as output. Is there a way to make the formatting value a variable? Something along the lines of
function x=leadzero(y,z)
x=sprintf('%0y',z)
end
I know it can be done with a for loop, but is there are way to implement this directly into the sprintf command?
0 个评论
采纳的回答
dpb
2016-10-24
Fer shure, just write the format string desired dynamically--
function s=leadzero(Nz,z)
fmt=num2str(Nz,'%%0%dg');
s=sprintf(fmt,z)
end
Nz for "Number zeros" seemed a better variable name than y as did an s for a returned string output variable...the format string expression can be wrapped inside the sprintf call, of course, just wrote it out for clarity here.
0 个评论
更多回答(1 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Characters and Strings 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!