num2str
将数字转换为字符数组
描述
例子
浮点值的默认转换
指定精度
指定浮点值的最大有效位数。
rng (“默认”) A = randn([2,2]);s = num2str (3)
s =2 x15 char数组'0.538 -2.26' ' 1.83 0.862'
指定的格式
输入参数
一个
- - - - - -输入数组
数字数组
输入数组,指定为数值数组。
数据类型:双
|单
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|逻辑
复数的支持:是的
精度
- - - - - -最大有效位数
正整数
输出字符串中最大有效位数,指定为正整数。
请注意
如果您指定精度
若要超过输入浮点数据类型的精度,结果可能与指定精度的输入值不匹配。结果取决于您的计算机硬件和操作系统。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
formatSpec
- - - - - -输出字段的格式
格式化操作
输出字段的格式,使用格式化操作符指定。formatSpec
还可以包括普通文本和特殊字符。
如果formatSpec
包括表示转义字符的文本,例如\ n
,然后num2str
翻译转义字符。
formatSpec
可以是单引号中的字符向量,也可以是字符串标量。
格式化操作符
格式化操作符以百分号开头,% gydF4y2Ba
,以转换字符结束。转换字符是必需的。还可以指定之间的标识符、标志、字段宽度、精度和子类型操作符% gydF4y2Ba
还有转换字符。(操作符之间的空格是无效的,这里显示只是为了可读性)。
转换字符
此表显示将数字和字符数据格式化为文本的转换字符。
值类型 | 转换 | 细节 |
---|---|---|
整数,签署了 |
|
以10为底的 |
整数,无符号 |
|
以10为底的 |
|
基数8(八进制) |
|
|
以16为基数(十六进制),小写字母 |
|
|
一样 |
|
浮点数 |
|
定点记数法(使用精确运算符指定小数点后的位数)。 |
|
指数符号,比如 |
|
|
一样 |
|
|
越紧凑的 |
|
|
越紧凑的 |
|
字符或字符串 |
|
单个字符 |
|
字符向量或字符串数组。的类型与的类型相同 |
可选的运营商
可选的标识符、标志、字段宽度、精度和子类型操作符进一步定义了输出文本的格式。
标识符
注意:不像
sprintf
函数,num2str
不支持标识符。旗帜
“- - -”
对齐。
例子:% -5.2度
例子:% -10年代
“+”
总是为任何数值打印符号字符(+或-)。
例子:% + 5.2 f
文本对齐。
例子:% + 10 s
' '
在值之前插入空格。
例子:% 5.2度
' 0 '
Pad到字段宽度,值前加0。
例子:% 05.2度
“#”
修改选定的数值转换:
为
%啊
,% x
,或% X
、打印0
,0 x
,或0 x
前缀。为
% f
,% e
,或% E
,即使精度为0,也可打印小数点。为
% g
或% G
,不要去掉后面的0或小数点。
例子:
% # 5.0度
字段宽度
要打印的最小字符数。
例子:
' % 5 d '
打印intmax
作为2147483647
因为返回的值intmax
超过要打印的最小字符数。如果要打印的字符数小于字段宽度,则
组成
函数将填充到字段宽度,并在值前面加上空格,除非由标志另行指定。然而,
num2str
函数没有填充到带有空格的字段宽度。精度
要打印的数字数。
为
% f
,% e
,或% E
小数点右边的位数
例子:“% .4f”
打印π
作为“3.1416”
为
% g
或% G
有效位数
例子:“% .4g”
打印π
作为“3.142”
例子:
' % 6.4 f '
打印π
作为“3.1416”
.请注意
如果为超过输入数值数据类型精度的浮点值指定精度运算符,则结果可能与输入值的精度不匹配。结果取决于您的计算机硬件和操作系统。
子类型
可以使用子类型操作符将浮点值打印为其八进制、十进制或十六进制值。子类型操作符紧接在转换字符的前面。这个表显示了可以使用子类型的转换。
输入值类型
子类型和转换字符
输出值类型
浮点数
% bx
或% bX
%博
% bu
双精度十六进制、八进制或十进制值
例子:% bx
打印π
作为400921 fb54442d18
% tx
或% tX
%,
%你
单精度十六进制、八进制或十进制值
例子:% tx
打印π
作为40490身上
格式化操作符之前或之后的文本
formatSpec
也可以在百分号之前包含额外的文本,% gydF4y2Ba
,或在转换字符后。文本可以是:
普通文字打印。
不能作为普通文本输入的特殊字符。中特殊字符的表示方法
formatSpec
.特殊字符
表示
单引号
”
百分比的性格
% %
反斜杠
\ \
报警
、一个
退格
\ b
换页
\ f
新行
\ n
回车
r \
水平选项卡
\ t
垂直制表符
v \
字符的Unicode®数值可以用十六进制数表示,
N
\ xN
例子:
返回num2str
(“\ x5A”)“Z”
Unicode数值可由八进制数表示的字符,
N
\ N
例子:
返回num2str
(' \ 132 ')“Z”
格式化操作符转换的显著行为
数值转换只打印复数的实分量。
如果您指定的转换不适合数据,例如数值的文本转换,请使用MATLAB®重写指定的转换,并使用
% e
.例子:
' % s '
转换π
来3.141593 e + 00
.如果应用文本转换(或
% c
或% s
)转换为整数值,MATLAB将对应于有效字符代码的值转换为字符。例子:
' % s '
转换(65 66 67)
来美国广播公司
.
输出参数
年代
-输入数组的文本表示
字符数组
输入数组的文本表示形式,作为字符数组返回。
提示
num2str
中的位置标识符不接受formatSpec
输入参数。例如,num2str (15 [14], ' % 2 $ X % 1 $ o)
返回一个错误。位置标识符指定格式化操作符处理函数输入参数的顺序,而不是输入数组元素的顺序。当你打电话
num2str
,只有一个输入参数有要转换的数字。如果指定的格式化操作符或特殊字符无效,则
num2str
打印到无效操作符或字符的所有文本,并丢弃其余文本。例子:如果
formatSpec
是“价值= % z '
,然后num2str
打印“价值= '
因为% z
不是格式化操作符。例子:如果
formatSpec
是'字符\x99999 = %s'
,然后num2str
打印“性格”
因为\ x99999
不是有效的特殊字符。
算法
num2str
裁剪字符数组中的任何前导空格,即使formatSpec
包括一个空格字符标志。例如,num2str (42.67, % 10.2 f)
返回一个1 × 5的字符数组“42.67”
.
扩展功能
C / c++代码生成
使用MATLAB®Coder™生成C和c++代码。
使用注意事项和限制:
输入参数必须是常量。
线程环境
在后台使用MATLAB®运行代码backgroundPool
或使用并行计算工具箱™加速代码ThreadPool
.
这个函数完全支持基于线程的环境。有关更多信息,请参见在线程环境中运行MATLAB函数.
GPU数组
通过使用并行计算工具箱™在图形处理单元(GPU)上运行来加速代码。
该功能完全支持GPU阵列。有关更多信息,请参见在图形处理器上运行MATLAB函数(并行计算工具箱).
版本历史
之前介绍过的R2006a
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。