Package?base?version 4.2.0
sprintf(fmt, ...)
gettextf(fmt, ..., domain = NULL, trim = TRUE)
参数【fmt】:格式字符串的字符向量,每个字符串最多 8192 个字节。
参数【...】:要传递给参数【fmt】的值。仅支持逻辑向量、整数向量、实数向量和字符向量,但会进行一些强制。最多?100。
参数【trim,domain】:参见 gettext。
sprintf 是系统 sprintf C 库函数的包装器。尝试检查传递的值的模式是否与提供的格式匹配,以及 R 的特殊值(NA、Inf、-Inf 和 NaN)是否得到正确处理。
gettextf 是一个方便的函数,它提供 C 样式的字符串格式,并可以翻译格式字符串。
如果可能的话,参数(包括 fmt)被回收到最长的长度,然后并行完成格式化。允许使用零长度参数,并将给出零长度结果。即使未使用,也会计算所有参数,因此不允许使用某些类型(例如,“symbol” 或 “language”,参见 typeof)。fmt 未使用的参数会导致警告。(格式 %.0s 可用于“跳过”参数。
字符串参数【fmt】包含传递到输出字符串的普通字符,以及对通过参数【...】提供的参数进行操作的转换规范允许的转换规范以 % 开头,以集合 aAdifeEgGosxX% 中的一个字母结尾。这些字母表示以下类型:
d
,?i
,?o
,?x
,?X:整数值,o 为八进制,x 和 X 为十六进制(对 a-f 使用与代码相同的大小写)。具有正好整数值的数值变量将被强制为整数。格式 d 和 i 也可用于逻辑变量,这些变量将转换为 0、1 或 NA。
f:双精度值,采用“定点”十进制表示法,格式为“[-]mmm.ddd”。小数位数 (“d”) 由精度指定:默认值为 6;精度为 0 会抑制小数点。非有限值被转换为 NA、NaN 或(可能后面跟着一个符号)Inf。
e,E:双精度值,采用 [-]m.ddde[+-]xx 或 [-]m.dddE[+-]xx 形式的“指数”十进制表示法。
g,G:双精度值,如果指数小于 -4 或大于或等于精度,则采用 %e 或 %E 格式,否则采用 %f 格式。(精度(默认值为 6)在此处指定有效位数,而在 %f、%e 中,它是小数点后的位数。
a,A:双精度值,采用二进制表示法,形式为 [-]0xh.hhhp[+-]d。这是一个以十六进制乘以 2 的(十进制)幂表示的二进制分数。小数点后的十六进制位数由精度指定:默认值为足以准确表示内部二进制表示形式的位数。非有限值被转换为 NA、NaN 或(可能后面跟着符号)Inf。 格式 %a 对 x、p 和十六进制值使用小写:格式 %a 使用大写。
s:字符串。字符 NA 将转换为“NA”。
%:文字百分比(在这种情况下,不允许使用下面给出的额外格式字符)。
as.character 的转换用于 s 的非字符参数,as 的 as.double 用于 f、e、E、g、G 的非双精度参数。 注意:长度是在转换之前确定的,所以如果这会改变长度,请不要依赖内部强制。强制只执行一次,因此如果 length(fmt) > 1,则所有元素都必须具有相同类型的参数。
此外,在初始 % 和终止转换字符之间,可以按任意顺序:
m,n:用句点分隔的两个数字,表示字段宽度 (m) 和精度 (n)。
-:在其字段中对转换后的参数进行左调整。
+:始终打印带符号的数字:默认情况下,仅打印带符号的负数。
空格:如果第一个字符不是符号,则在空格前加上前缀。
0:对于数字,填充到带有前导零的字段宽度。对于角色,这在某些平台上是零垫,而在另一些平台上被忽略。
#:指定数字的“备用输出”,其操作取决于类型:对于 x 或 X,0x 或 0X 将作为非零结果的前缀。对于 e、e、f、g 和 G,输出将始终具有小数点;对于 g 和 G,不会删除尾随零。