R语言【base】——sprintf():接受格式化文本和变量值来搭建字符型向量。

Package base version 4.2.0


Parameters

R 复制代码
sprintf(fmt, ...)

gettextf(fmt, ..., domain = NULL, trim = TRUE)

参数【fmt】:格式字符串的字符向量,每个字符串最多 8192 个字节。

参数【...】:要传递给参数【fmt】的值。仅支持逻辑向量、整数向量、实数向量和字符向量,但会进行一些强制。最多 100

参数【trim,domain】:参见 gettext


Details

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,不会删除尾随零。
相关推荐
一点媛艺1 小时前
Kotlin函数由易到难
开发语言·python·kotlin
姑苏风1 小时前
《Kotlin实战》-附录
android·开发语言·kotlin
奋斗的小花生2 小时前
c++ 多态性
开发语言·c++
魔道不误砍柴功2 小时前
Java 中如何巧妙应用 Function 让方法复用性更强
java·开发语言·python
闲晨2 小时前
C++ 继承:代码传承的魔法棒,开启奇幻编程之旅
java·c语言·开发语言·c++·经验分享
老猿讲编程2 小时前
一个例子来说明Ada语言的实时性支持
开发语言·ada
Chrikk3 小时前
Go-性能调优实战案例
开发语言·后端·golang
幼儿园老大*3 小时前
Go的环境搭建以及GoLand安装教程
开发语言·经验分享·后端·golang·go
canyuemanyue3 小时前
go语言连续监控事件并回调处理
开发语言·后端·golang
杜杜的man3 小时前
【go从零单排】go语言中的指针
开发语言·后端·golang