ruby - 如何在 Ruby 中输出前导零?

标签 ruby

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

file_001...

代替

file_1

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

最佳答案

对字符串使用 % 运算符:

irb(main):001:0> "%03d" % 5
=> "005"

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

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

这是一个 printf format cheat sheet您可能会发现在形成格式字符串时很有用。 printf格式最初来自C函数printf,但是perl、ruby、python、java、php等都有类似的格式化函数。

关于ruby - 如何在 Ruby 中输出前导零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1543171/

相关文章:

ruby - 如何从 Ruby 运行 Excel 宏?

ruby - 安装一个 gem 以用作在 Travis 上构建 python 项目的工具

mysql - redmine 安装步骤 5.rake generate_secret_token 的问题

ruby-on-rails - 在有限的环境中执行 ruby​​ 代码

ruby - 获取图像的宽度和高度而不下载它

ruby-on-rails - 记录当前用户 ruby​​ on rails 4.0

ruby - (Mac) 当语法设置为 Ruby 时 Vim 相当慢

javascript - Rails 外部 JS 作为 gem

ruby - 将数组的偶数索引元素乘以 2,并将数组的奇数索引元素乘以 3?

mysql - 合并一年来创建的具有相同结构的两个数据库,同时牢记 ID 和关系 - MySQL