matlab中numstr()前面的空格省略
为什么在matlab中,当您键入以下语句时matlab中numstr()前面的空格省略,matlab,Matlab,为什么在matlab中,当您键入以下语句时 percentage =22 strcat('Transfer is ', num2str(percentage), '% complete'); 结果将删除numstr()运算符之前的空白。。。i、 e ans = 'Transfer is23% complete' 有没有办法防止它窃取我的空白?这是因为strcat删除了空白。根据文件strcat: 对于字符数组输入,strcat将删除尾随的ASCII空白字符:空格、制表
percentage =22
strcat('Transfer is ', num2str(percentage), '% complete');
结果将删除numstr()运算符之前的空白。。。i、 e
ans = 'Transfer is23% complete'
有没有办法防止它窃取我的空白?这是因为
strcat
删除了空白。根据文件strcat
:
对于字符数组输入,strcat将删除尾随的ASCII空白字符:空格、制表符、垂直制表符、换行符、回车符和换行符。
解决方案:
1) 您可以尝试sprintf('Transfer is%d%%complete',percentage)代码>
2) 使用['Transfer is',num2str(百分比),'%complete']
而不是strcat
进行字符串连接。以下操作应有效:
strcat({'Transfer is '}, num2str(percentage), {'% complete'});
虽然最终会得到一个单体单元数组。如果要串联单个字符串,那么应该真正使用[]
而不是strcat
就个人而言,我会使用@grapeot建议的sprintf
。