【问题标题】:appending zeroes to an integer variable in perl在perl中将零附加到整数变量
【发布时间】:2018-05-23 23:43:10
【问题描述】:

我在 perl 中有一个整数值,假设 $runid = 1,我需要使用 perl 脚本中的mkdir R_$runid 创建一个名为 R_00001 的新目录。我无法附加零。当我打印它时,“printf”对我有用,但我无法弄清楚如何完成这项工作。请提出一些方法。

【问题讨论】:

  • 我建议您将此任务表述为 preending 零,或者用零“左填充”。

标签: perl


【解决方案1】:
sprintf("R_%05d", $runid)

【讨论】:

  • 尽管此代码可能(或可能不会)解决问题,但好的答案应始终包含有关此代码如何工作以及为何解决问题的说明。
  • @BDL,这里没有算法可以解释。该代码通过调用 sprintf 来完成 OP 想要的工作。
  • 1) 我没有投反对票 2) 可以补充一下为什么 %05d 解决了问题以及为什么使用 sprintf 而不是 printf (操作建议)
  • @BDL,“%05d 用零填充 5 个空格,因为 %05d 用零填充到 5 个空格”? /// OP 已经知道printf 做了什么。
【解决方案2】:

您可以在嵌套匿名函数中使用连接运算符:

#! /usr/bin/perl

my $runid = 1 ;
mkdir (('R_0000' . $runid)) ;

【讨论】:

  • 大于 9 的数字失败。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-09-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-03
  • 1970-01-01
  • 2018-12-08
相关资源
最近更新 更多