文档

sprintf

格式的数据转换成字符串

语法

str = sprintf (formatSpec A1,…)
[str, errmsg] = sprintf (formatSpec A1,…)

描述

例子

str= sprintf (formatSpec,A1,…,一个)格式的数据数组A1,…,一个根据formatSpec列顺序,并返回结果str

(str,errmsg)= sprintf (formatSpec,A1,…,一个)返回一个错误消息作为一个特征向量时,操作失败。否则,errmsg是空的。

例子

全部折叠

使用浮点数格式% e,% f,% g说明符。

= 1 /每股收益;str_e = sprintf (' % 0.5 e”,)
str_e = ' 4.50360 e + 15 '
str_f = sprintf (' % 0.5 f ',)
str_f = ' 4503599627370496.00000 '
str_g = sprintf (% 0.5克的,)
str_g = ' 4.5036 e + 15 '

结合文字文本数组值创建一个特征向量。

formatSpec =数组是% dx % d。;A1 = 2;A2 = 3;str = sprintf (formatSpec A1, A2)
str = '数组2 x3。

返回格式化的文本作为一个字符串,指定formatSpec作为一个字符串,而不是当你调用一个特征向量sprintf函数。

从R2017a开始,您可以使用双引号,而不是创建字符串字符串函数。转换数据并返回结果为字符串。

formatSpec =“当前时间是:% d: % d % s”;A1 = 11;A2 = 20;A3 =“点”。;str = sprintf (formatSpec A1, A2, A3)
str = "当前时间是:11点。”

把输入字符串。输入数组,包含文本特征向量或字符串。

A1 = 2;A2 = 35;A3 =“点”。;str = sprintf (formatSpec A1, A2, A3)
str = "当前时间是:下午2点。”

显式地将双精度值转换为整数。

str = sprintf (' % d '而圆(π))
str = ' 3 '

指定印刷的最小宽度值。

str = sprintf (“% 025 d”[123456])
str = ' 0000000000000000000123456 '

0国旗的% 025 d格式说明符请求前导零的输出。

重新排序使用的输入值n美元位置标识符。

A1 =“X”;A2 =“Y”;A3 =“Z”;formatSpec =' % 3 $ s % 2 $ s % 1 $ s”;str = sprintf (formatSpec A1, A2, A3)
str = ' Z Y X '
C = {1、2、3;“AA”,“BB”,“CC”};str = sprintf (' % d % s 'C {:})
str = ' 1 AA 2 BB 3 CC '

的语法C {:}创建一个以逗号分隔的数组,包含每个单元格的内容C列顺序。例如,C {1} = = 1C {2} = =“AA”

输入参数

全部折叠

输出的格式字段,使用格式指定操作符。formatSpec也可以包括普通文本和特殊字符。

formatSpec可以在单引号字符向量,或者,从R2016b开始,一个字符串标量。

格式化操作符

一个格式化操作符从百分之一开始的信号,% gydF4y2Ba,以转换角色。转换字符是必需的。可选地,您可以指定标识、旗帜、字段宽度、精度和亚型之间的运营商% gydF4y2Ba和转换角色。(这里显示运营商和之间的空间是无效的可读性)。

转换字符

这个表显示转换字符格式化数字和字符数据为文本。

值类型 转换 细节

整数,签署了

% d%我

以10为底的

整数,无符号

% u

以10为底的

%啊

基数8(八进制)

% x

基地16(十六进制),小写字母一个- - - - - -f

% X

一样% x,大写字母一个- - - - - -F

浮点数

% f

定点表示法(使用精密操作符来指定小数点后位数。)

% e

指数的符号,如3.141593 e + 00(使用精密操作符来指定小数点后位数的数量。)

% E

一样% e,但大写,如3.141593 e + 00(使用精密操作符来指定小数点后位数的数量。)

% g

更紧凑的% e% f,没有尾随零(使用精密操作符指定数量的有效数字)。

% G

更紧凑的% E% f,没有尾随零(使用精密操作符指定数量的有效数字)。

字符或字符串

% c

单个字符

% s

特征向量数组或字符串。输出文本的类型是一样的类型formatSpec

可选的运营商

可选标识、旗帜、字段宽度精度,和亚型运营商进一步定义输出文本的格式。

  • 标识符

    订单处理函数输入参数。使用语法n美元,在那里n代表其他的位置输入参数的函数调用。

    例子:(“% 3 $ s % 2 $ s % 1 $ s % 2 $ s’,‘“,“B”,“C”)打印输入参数“一个”,“B”,“C”如下:C B B

    注意:如果一个输入参数是一个数组,您不能使用标识符来指定特定的输入参数的数组元素。

  • 旗帜

    “- - -”

    对齐。
    例子:% -5.2度
    例子:% -10年代

    “+”

    总是打印标志字符(+或-)数值。
    例子:% + 5.2 f
    文本对齐。
    例子:% + 10 s

    ' '

    插入一个空格前的值。
    例子:% 5.2度

    ' 0 '

    垫场宽度与零值。
    例子:% 05.2度

    “#”

    修改选择的数字转换:

    • %啊,% x,或% X、打印0,0 x,或0 x前缀。

    • % f,% e,或% E、打印精度小数点即使是0。

    • % g% G,不要删除尾随零或小数点。

    例子:% # 5.0度

  • 字段宽度

    最小数量的字符打印。字段宽度操作符可以是一个数字,或星号(*)指一个输入参数。

    例子:输入参数(intmax ' % 12 d ')相当于(' % * d ', 12日intmax)

    函数前垫与空间字段宽度值,除非另有指定的标志。

  • 精度

    % f,% e,或% E

    数量的数字的小数点向右
    例子:“% .4f”打印π作为“3.1416”

    % g% G

    有效数字的数量
    例子:“% .4g”打印π作为“3.142”

    精密操作符可以是一个数字,或星号(*)指一个论点。

    例子:输入参数(% 6.4 f,π)相当于(“% *。*f', 6, 4, pi)

      注意:如果你指定一个浮点值的精度算子的精度超过输入数字数据类型,结果可能不匹配的输入值指定的精度。结果取决于你的电脑硬件和操作系统。

  • 子类型

    您可以使用一个亚型运营商打印一个浮点值为八进制,十进制或十六进制值。子类型操作符之前立即转换角色。此表显示了转换,可以使用子类型。

    输入值类型

    亚型和转换字符

    输出值类型

    浮点数

    % bx% bX
    %博
    % bu

    双精度十六进制,八进制,十进制值
    例子:% bx打印π作为400921 fb54442d18

    % tx% tX
    %,
    %你

    单精度十六进制,八进制,十进制值
    例子:% tx打印π作为40490身上

文本格式化操作之前或之后

formatSpec还可以包括附加的文本签署前百分之一,% gydF4y2Ba后,或者转换角色。文本可以是:

  • 普通的文本打印。

  • 特殊字符不能输入作为普通文本。此表显示了如何代表特殊字符formatSpec

    特殊字符

    表示

    单引号

    百分比的性格

    % %

    反斜杠

    \ \

    报警

    、一个

    退格

    \ b

    换页

    \ f

    新行

    \ n

    回车

    r \

    水平选项卡

    \ t

    垂直制表符

    v \

    字符的Unicode®数值可以用十六进制数,N

    \ xN

    例子:sprintf (“\ x5A”)返回“Z”

    字符的Unicode数值可以用八进制数,N

    \ N

    例子:sprintf (\ 132 ')返回“Z”

引人注目的行为与格式转换操作符

  • 数字转换打印只有复数的实部。

  • 如果你指定一个不符合数据的转换,如文本转换为一个数字值,MATLAB®覆盖指定的转换,和用途% e

    例子:' % s '转换π3.141593 e + 00

  • (如果你申请一个文本转换% c% s整数值,MATLAB值对应于有效的字符编码转换为字符。

    例子:' % s '转换(65 66 67)美国广播公司

数据类型:字符|字符串

数字、字符或字符串数组。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑|字符|字符串

输出参数

全部折叠

格式化的文本,作为一个特征向量或字符串标量返回。输出的类型相匹配的类型formatSpec

错误消息,作为特征向量,返回时操作不成功。否则,errmsg是空的。

提示

  • sprintf功能类似于,但输出到一个文件或命令窗口。

  • 格式说明符的阅读功能sscanffscanf不同的格式写功能sprintf。不支持一个精密领域阅读功能。金宝app为写作宽度字段指定一个最小,但最大的阅读。

引用

[1]克尼汉,b . W。d·m·里奇,C编程语言,第二版,新世纪,Inc ., 1988年。

[2]ANSI规范x3.159 - 1989:编程语言C, ANSI,百老汇1430号,纽约10018。

之前介绍过的R2006a

这个主题有帮助吗?