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!