参考:https://ww2.mathworks.cn/help/matlab/ref/num2str.html?searchHighlight=num2str&s_tid=doc_srchtitle
num2str
将数字转换为字符数组
输出字段的格式,使用格式化操作符指定。
formatSpec
还可以包括普通文本和特殊字符。
formatSpec
可以是用单引号引起来的字符向量,从 R2016b 开始,也可以是字符串标量。
格式化操作符
格式化操作符以百分号
%
开头,以转换字符结尾。转换字符是必需的。您也可以在
%
和转换字符之间指定标识符、标志、字段宽度、精度和子类型操作符。(操作符之间的空格无效,在这里显示空格只是为了便于阅读。)
处理函数输入参数的顺序。使用语法
n
$
,其中
n
代表函数调用中其他输入参数的位置。
示例:
('%3$s %2$s %1$s %2$s','A','B','C')
将输入参数
'A'
、
'B'
、
'C'
输出为:
C B A B
。
注意:
如果输入参数为数组,则不能使用标识符指定该输入参数中的特定数组元素。
要输出的最低字符数。字段宽度操作符可以是数字,也可以是指向输入参数的星号 (
*
)。
当您将
*
指定为字段宽度操作符时,其他输入参数必须指定打印宽度和要打印的值。宽度和值可以是参数对组,也可以是数值数组中的对组。使用
*
作为字段宽度操作符时,您可以打印具有不同宽度的不同值。
示例:
输入参数
('%12d',intmax)
等效于
('%*d',12,intmax)
。
示例:
输入参数
('%*d',[2 10 5 100])
返回
'10 100'
,其中两个空格分配给
10
,五个空格分配给
100
。您也可以将字段宽度和值指定为多个参数,如
('%*d',2,10,5,100)
中所示。
除非标志另行指定,否则该函数使用空格填充值之前的字段宽度。
精度操作符可以是数字,也可以是指向参数的星号 (
*
)。
当您将
*
指定为字段精度操作符时,其他输入参数必须指定打印精度和要打印的值。精度和值可以是参数对组,也可以是数值数组中的对组。使用
*
作为精度操作符时,您可以打印具有不同精度的不同值。
将
*.*
指定为字段宽度和精度操作符时,必须以三元组形式指定字段宽度、精度和值。
示例:
输入参数
('%.4f',pi)
等效于
('%.*f',4,pi)
。
示例:
输入参数
('%6.4f',pi)
等效于
('%.*f',6,4,pi)
。
示例:
输入参数
('%*.*f',6,4,pi,9,6,exp(1))
返回
'3.1416 2.718282'
,其中以
9
和
6
分别作为
exp(1)
输出的字段宽度和精度。
如果您为浮点值指定的精度操作符所表示的精度超出输入数值数据类型的精度,则在指定精度内,结果与输入值可能不匹配。结果取决于您的计算机硬件和操作系统。