在数字之间转换为不带num2str的字符串

时间:2014-11-28 17:23:34

标签: string matlab converter

例如,输入为a = 5678。你怎么做b = '5678'? (b是一个字符串)。 不允许使用str2num或任何演员。

是否可以使用log10? (我知道如何做反向动作)。 [这就是我做相反的事情(从字符串到数字):

s = input('Enter a number: ','s'); x = sum(10.^(length(s-'0')-1:-1:0).*(s-'0'));

1 个答案:

答案 0 :(得分:3)

这看起来像是家庭作业,所以首先给出一些提示:

  • log10可能有助于确定位数。
  • mod有助于获取每个数字。
  • 从您的反向操作代码:使用10的连续权限以及+'0' / -'0'来转换数字和ASCII代码,这里也可能有所帮助。

这里有一个使用这些提示的可能方法(将鼠标悬停在上面找出):

  

b = char(mod(floor(a./10.^((ceil(log10(a))-1):-1:0)),10) + '0'):