组成
将数据格式化为多个字符串
描述
格式化输入数组中的数据值,str
=组成(formatSpec
,一个
)一个
,使用指定的格式化操作符formatSpec
并返回结果文本str
.的组成
函数从一个
按列排序。如果formatSpec
是字符串数组,那么输出数组也是str
.否则,str
是字符向量的单元格数组。
组成
还将转义字符序列转换为formatSpec
.转义字符序列表示非打印字符或指定换行符或制表符等操作。
的组成
函数可以返回多个格式化文本片段作为字符串数组或字符向量的单元格数组,而不像sprintf
.的sprintf
函数只返回一个字符串标量或字符向量。
如果
一个
那么有多行组成
返回str
作为具有相同行数的字符串数组或单元格数组。组成
重复formatSpec
在每一行str
的对应行中的格式化值一个
.如果中的列数
一个
中的操作符数formatSpec
,然后组成
重复formatSpec
作为的附加列str
.的额外列一个
中的新列贡献格式化值str
.如果中的列数
一个
小于运算符的个数formatSpec
,然后组成
不使用这些运算符格式化值。相反,组成
放入未更改的格式化操作符str
.然而,组成
翻译所有转义字符序列,除了\ \
而且%%
.
格式化来自多个输入数组的数据值,并连接所有格式化的值。当str
=组成(formatSpec
A1,…)组成
使用格式化操作符formatSpec
若要从输入数组转换数据,则这些格式化操作符对以下输入数组不可用。
例如,如果formatSpec
是"%f %f %d %s"
而且A1
有两列,然后是运算符“% % f”
应用于?中的值A1
只有。它们不能被应用A2
或者任何其他输入数组。组成
应用剩下的运算符,“% d % s”
,A2,…,一个
.
如果最后一个输入数组中的列数,一个
,则超过剩余的操作符数组成
将附加列添加到str
,如前面的语法所述。如果中的列数一个
小于剩余的操作符数,那么组成
将最后一个未更改的操作符放入str
.
例子
将数字格式化为字符串
格式π
到小数点后8位,然后以字符串形式返回。
A =
A = 3.1416
从R2017a开始,您可以使用双引号创建字符串。指定formatSpec
作为字符串。
formatSpec =“% .8f”
formatSpec = "%.8f"
str = compose(formatSpec,A)
STR = "3.14159265"
创建包含值的数值数组π
而且e
.使用% e
而且% f
不同精度的运算符。
A = [pi exp(1)]
一个=1×23.1416 - 2.7183
formatSpec =圆周率的值是%.2e;e的值是%.5f。”;str = compose(formatSpec,A)
str = "圆周率值为3.14e+00;e的值是2.71828。”
格式化数组中的值列
格式化从数值数组中获取的值。由于数字数组有多行,组成
返回具有相同行数的字符串数组。
X = [1 2 3 4 5]';Y = x .^2;
从R2017a开始,您可以使用双引号创建字符串。指定formatSpec
作为字符串,并将格式化后的值作为字符串数组返回。
formatSpec =“% d。^2 = %d";str = compose(formatSpec,X,Y)
str =5x1串数组“1。^2 = 1" "2。^2 = 4" "3。^2 = 9" "4。^2 = 16" "^2 = 25"
用多余或缺少操作符格式化值
当数据数组中的列数不等于操作符数时,格式化值。如果一个
有更多的专栏吗组成
重复formatSpec
作为输出字符串数组的附加列。
从R2017a开始,您可以使用双引号创建字符串。指定formatSpec
作为字符串。
formatSpec =时间是%d:%d;A = [8 15 9 30;10 20 11 50];str = compose(formatSpec,A)
str =2x2字符串数组“时间是8:15”“时间是9:30”“时间是10:20”“时间是11:50”
格式化值时一个
列数较少。
formatSpec =“签入时间%d:%d;退房时间%d:%d";A = [12 27;11日16);str = compose(formatSpec,A)
str =2x1串数组“登记时间12:27;退房时间%d:%d" "退房时间11:16;退房时间%d:%d"
自一个
只有两列,组成
中只使用前两个格式化操作符formatSpec
格式化值。组成
保持其他格式化操作符不变。
转义字符串数组中的字符
创建包含转义字符序列的字符串数组,以指定水平制表符。使用组成
函数来翻译\ t
转义字符。从R2017a开始,您可以使用双引号创建字符串。
STR = [“姓名、出生日期、地点”;...”琼斯\ t10/20/2015 \ tUK”;...“辛普森\ t09/12/2015 \图萨”];newStr = compose(str)
newStr =3x1字符串数组“姓名->出生日期->地点”“琼斯->10/20/2015->英国”“辛普森->09/12/2015->美国”
防止翻译\ n
使用另一个\
的性格。
str =“不要转义第二个n个转义字符序列。”;newStr = compose(str)
newStr = "不要转义第二个n个转义字符序列。"
输入参数
formatSpec
- - - - - -格式化操作
字符串数组|特征向量|字符向量的单元格数组
格式化操作符,指定为包含格式化操作符的字符串数组、字符向量或字符向量的单元格数组。如果formatSpec
包括表示转义字符的文本,例如\ n
,然后组成
翻译转义字符。
格式化操作符
格式化操作符以百分号开头,% gydF4y2Ba
,并以转换字符结束。转换字符是必需的。可选地,您可以指定之间的标志、字段宽度、精度和子类型操作符% gydF4y2Ba
以及转换字符。(操作符之间的空格无效,此处仅为可读性起见)。
转换字符
此表显示将数字和字符数据格式化为文本的转换字符。
值类型 | 转换 | 细节 |
---|---|---|
整数,签署了 |
|
以10为底的 |
整数,无符号 |
|
以10为底的 |
|
8进制(八进制) |
|
|
以16为基数(十六进制),小写字母 |
|
|
一样 |
|
浮点数 |
|
定点记数法(使用精确运算符指定小数点后的位数。) |
|
指数符号,例如 |
|
|
一样 |
|
|
更紧凑的 |
|
|
更紧凑的 |
|
字符 |
|
单个字符 |
|
特征向量 |
可选的运营商
可选标识符、标志、字段宽度、精度和子类型操作符进一步定义了输出文本的格式。
旗帜
“- - -”
对齐。
例子:% -5.2度
“+”
对于任何值,始终打印一个符号字符(+或-)。
例子:% + 5.2 f
' '
在值之前插入一个空格。
例子:% 5.2度
' 0 '
填充到字段宽度,值前为零。
例子:% 05.2度
“#”
修改选定的数值转换:
为
%啊
,% x
,或% X
、打印0
,0 x
,或0 x
前缀。为
% f
,% e
,或% E
,即使精度为0,也可打印小数点。为
% g
或% G
,不移除尾随零或小数点。
例子:
% # 5.0度
字段宽度
打印的最小字符数。
例子:
组成(12 d ' ' %, intmax)
返回“2147483647”
.除非flags另有指定,否则函数将在值前用空格填充字段宽度。
精度
要打印的数字数。
为
% 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身上
格式化操作符转换的显著行为
数值转换只输出复数的实分量。
如果指定的转换不适合数据,例如数值的字符转换,请使用MATLAB®重写指定的转换,并使用
% e
.例子:
' % s '
转换π
来3.141593 e + 00
.如果应用字符串转换(
% s
)转换为整数值,MATLAB将对应于有效字符代码的值转换为字符。例子:
' % s '
转换[65 66 67]
来“ABC”
.
数据类型:字符串
|字符
|细胞
一个
- - - - - -数字、字符或字符串数组
标量|向量|矩阵|多维数组
数值、字符或字符串数组,指定为标量、向量、矩阵或多维数组。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|逻辑
|字符
|字符串
三种
- - - - - -输入文本
字符串数组|特征向量|字符向量的单元格数组
输入文本,指定为字符串数组、字符向量或字符向量的单元格数组。组成
翻译任何转义字符序列三种
.例如,组成
翻译\ n
转换成换行符。
数据类型:字符串
|字符
|细胞
输出参数
str
-格式化文本
字符串数组|单元格字符向量数组
格式化的文本,作为字符串数组或字符向量的单元格数组返回。
数据类型:字符串
|细胞
扩展功能
高大的数组
使用行数超过内存容量的数组进行计算。
分布式阵列
使用并行计算工具箱™跨集群的组合内存对大型数组进行分区。
该函数完全支持分布式数组。金宝app有关更多信息,请参见运行MATLAB函数与分布式阵列(并行计算工具箱)。
在R2016b中引入
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。