我正在尝试将矩阵写入文本文件.我的矩阵的第一个元素是一个数字(一个对象id),它有几个数字.第一个数字可以是零(例如023512,146498等).
要编写文件,我有一个循环:
objectID = [023512, 023534, 112512, 063512, 223512];
fSpec = ['%s', '\n'];
fID = fopen('file', 'w');
for k=1:5
to_write = [num2str(objectID(k)) ',' 'l'];
fprintf(fID, fSpec, to_write);
end
fclose(fID)
Run Code Online (Sandbox Code Playgroud)
在这个例子中,我得到了文件
23512,l 23534,l 112512,l 63512,l 223512,l
0已经消失了.
我尝试在fSpec ['%d''%s''%s''\n]中使用%d,但在这种情况下,我收到警告:在转换为字符期间截断超出范围或非整数值.零仍然被删除,所有内容都写在同一行.
有没有办法将数字转换为字符串而不截断零?
谢谢
你可以使用:
objectID = 023512;
oStr = num2str(objectID , '%06d');
Run Code Online (Sandbox Code Playgroud)