sprintf("%03d",7)功能的说明?

use*_*253 13 csv printf r paste

我正在尝试在R中编写函数,其目的是读取多个.csv文件.它们被命名为001.csv,002.csv,... 332.csv.

随着paste我设法等构建的名称1.csv,2.csv和,但我有与添加前导零难度.有一个提示sprintf("%03d", 7)需要构造,但我不知道为什么以及如何工作.

那么有人可以解释下面的陈述实际上可以做什么吗?

ton*_*nov 35

sprintf最初来自C,所有格式规则也都来自它.请参阅?sprintfR或参考或参考文献以详细了解该主题.在这里,我将简要概述它背后的魔力.

"%03d"是格式化字符串,指定7将如何打印.

  • d代表decimal integer(不是double!),因此它表示没有浮点或类似的东西,只是一个常规整数.
  • 3显示打印数字的位数.更准确地说,这个数字至少需要 3个数字:7将是__7(带空格而不是下划线),但是1000会保留1000,因为没有办法只用3位数来写这个数字.
  • 0之前3显示前导空格应该用零替换.尝试尝试sprintf("%+3d", 7),sprintf("%-3d", 7)看看其他可能的修饰符(它们被称为标志).

话虽如此,输出sprintf("%03d", 7)将是007.