我正在尝试将矩阵写入文本文件。 我的矩阵的第一个元素是一个数字(一个对象ID),它有几个数字。第一个数字可以是零(例如023512,146498等)。将数字转换为matlab中的字符串
写入文件,我有一个循环:
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)
在这个例子中,我得到的文件
23512,L 23534,L 112512,L 63512,L 223512 ,l
0消失了。
我试图在fSpec ['%d''%s''%s''\ n]中使用%d,但在这种情况下,我得到一个警告:超出范围或非整数值被截断在转换为角色期间。零仍被删除,并且所有内容都写入同一行。
有什么办法可以将数字转换为字符串而不会截断零吗?
谢谢
2013-10-15
bigTree
+2
哪里'objectID'来从? 'objectID = [023512,023534,112512,063512,223512];'不会有前导零,因为它们是数字。你可以做'objectID = ['023512','023534','112512','063512','223512'];或者如果它是一个固定的数字长度,那么你可以用零填充后? –
+0
这是一个固定的数字长度,所以我会用零填充。谢谢 –
+1
@bigTree我认为你应该使用我的解决方案 –