【问题标题】:create sequence of numbers with leading zeroes [duplicate]创建带有前导零的数字序列[重复]
【发布时间】:2017-04-01 04:32:52
【问题描述】:

之前已使用 Console.writelines 函数解决了这个问题,但在我的 R 版本中不可用,我找不到它属于哪个包。

我只是想创建一个从 0 到 99 的数字序列,前导零的格式为“xxx”,所以我的数字应该是 000、001、002...099。

当我使用时:

seq(000:099)

R 返回 1、2、3 等。

有没有简单的方法来做到这一点?让我感到震惊的是,它应该比现在容易得多。

这与以前的答案不同,因为我需要在数字 0-9 前面有两个零,在数字 10-99 前面只需要 1 个零,而前面的问题只是要求在所有数字前面加上 1 个零。

【问题讨论】:

  • 使用sprintf:像这样sprintf("%03.0f", 0:10)
  • 非常感谢 - 这非常有效,而且看起来比其他人在其他地方发布的建议更简单、更有效
  • 我认为我最好将其删除,即使它并不是真正的重复。我无法让之前的答案适用于我的案例
  • richie Cotton 和 goodside 对链接帖子的回答值得一读关于 sprintf 的使用。

标签: r


【解决方案1】:

例如 1:100 前导零最多三个数字:

sprintf('%0.3d', 1:100)
  [1] "001" "002" "003" "004" "005" "006" "007" "008" "009" "010" "011" "012"
 [13] "013" "014" "015" "016" "017" "018" "019" "020" "021" "022" "023" "024"
 [25] "025" "026" "027" "028" "029" "030" "031" "032" "033" "034" "035" "036"
 [37] "037" "038" "039" "040" "041" "042" "043" "044" "045" "046" "047" "048"
 [49] "049" "050" "051" "052" "053" "054" "055" "056" "057" "058" "059" "060"
 [61] "061" "062" "063" "064" "065" "066" "067" "068" "069" "070" "071" "072"
 [73] "073" "074" "075" "076" "077" "078" "079" "080" "081" "082" "083" "084"
 [85] "085" "086" "087" "088" "089" "090" "091" "092" "093" "094" "095" "096"
 [97] "097" "098" "099" "100"

【讨论】:

  • 感谢提供有用的解决方案的人,而不是加入那些错误地暗示它是重复的人。
  • 我实际上将其作为副本关闭了。该问题的答案包括您需要的用例。请参阅链接问题中 Richies 答案的sprintf 部分。 goodside 在同一个问题中的答案更清楚地使用了我在这里建议的完全相同的代码。
  • 好的,谢谢保罗。为重复道歉。
猜你喜欢
  • 1970-01-01
  • 2013-07-01
  • 2013-02-05
  • 1970-01-01
  • 2020-11-29
  • 1970-01-01
  • 2012-10-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多