matlab 怎么控制显示位数两位

我想用clock获取时间 用fprintf写入一个txt 如果是个位数的话怎么让它显示两位 比如13:9:6 我想显示成13:09:06 应该怎么控制?
现在的代码我是这样写的
fid=(‘d:\mm.txt’,'w')
while 1
t=fix(clock);
tic
while toc<2;end
fprintf(fid,'%s%s%s%s%s\r\n',num2str(t(4)),':',num2str(t(5)),':',num2str(t(6)))
end

...

积分不多 如果高手给个好用的答案 给100分

MATLAB中设置位数方法:
format long %设置为小数点后9位
format short %设置为小数点后4位
vpa(pi,200) %设置pi为小数点后200位
第二:手动
手工设置:
file-->perferences-->command window -->Text display
-->Numeric format / Numeric display
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-04-13
用%02d,打印时显示至少两位,前面补零

fid=('d:\mm.txt', 'w');
t=fix(clock);
fprintf(fid, '%02d:%02d:%02d\n', t(4), t(5), t(6));本回答被提问者和网友采纳
第2个回答  2009-12-21
fid=fopen('d:\mm.txt','w');
while 1
t=fix(clock);
tic
while toc<2;end
if t(4)<10
h=strcat('0',num2str(t(4)));
else
h=num2str(t(4));
end
if t(5)<10
m=strcat('0',num2str(t(5)));
else
m=num2str(t(5));
end
if t(6)<10
s=strcat('0',num2str(t(6)));
else
s=num2str(t(6));
end
fprintf(fid,'%s%s%s%s%s\r\n',h,':',m,':',s);
end
相似回答