matlab中字符改为数字,将数字转换为matlab中的字符串

我正在尝试将矩阵写入文本文件。 我的矩阵的第一个元素是一个数字(一个对象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我认为你应该使用我的解决方案 –

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值