如何在Ruby中输出前导零?

我正在从Ruby脚本输出一组编号文件。这些数字来自计数器的递增,但是为了使它们在目录中很好地排序,我想在文件名中使用前导零。换句话说

文件001

而不是

文件1

在将数字转换为字符串时,是否有一种简单的方法来添加前导零?(我知道我能做到“如果少于10…如果少于100”)

%运算符与字符串一起使用:

irb(主):001:0>%03d“%5”
=>"005"

左侧是printf格式字符串,右侧可以是值列表,因此可以执行以下操作:

irb(主):002:0>filename=“%s/%s.%04d.txt”%[“dirname”,“filename”,23]
=>“dirname/filename.0023.txt”

这是一份printf格式的备忘单,您可能会发现它对形成格式字符串很有用。printf格式最初来自于C函数printf,但类似的格式化函数在perl、ruby、python、java、php等中都可用

发表评论