Dor*_*oom 3 string matlab string-formatting
我试图在MATLAB中输出一个数字数组作为字符串.我知道这很容易使用num2str,但我想要逗号后跟一个空格来分隔数字,而不是制表符.数组元素最多只有十分之一的分辨率,但大多数都是整数.有没有办法格式化输出,以便不必要的尾随零?这就是我设法组建的内容:
data=[2,3,5.5,4];
datastring=num2str(data,'%.1f, ');
datastring=['[',datastring(1:end-1),']']
Run Code Online (Sandbox Code Playgroud)
它给出了输出:
[2.0, 3.0, 5.5, 4.0]
Run Code Online (Sandbox Code Playgroud)
而不是:
[2, 3, 5.5, 4]
Run Code Online (Sandbox Code Playgroud)
有什么建议?
编辑:我刚刚意识到我可以strrep通过调用来解决这个问题
datastring=strrep(datastring,'.0','')
Run Code Online (Sandbox Code Playgroud)
但这似乎比我一直在做的更加笨拙.
datastring=num2str(data,'%.1f, ');
Run Code Online (Sandbox Code Playgroud)
datastring=num2str(data,'%g, ');
Run Code Online (Sandbox Code Playgroud)
[2,   3, 5.5,   4]datastring=sprintf('%g,',data);
Run Code Online (Sandbox Code Playgroud)
[2,3,5.5,4]