在常规情况下,如何返回零填充范围?

时间:2019-04-14 12:21:02

标签: groovy jenkins-groovy

我需要返回001-999之间的值。 所以我自然可以使用范围:

return 1..999

但是我需要返回001到999之间的值,这意味着将一位数字和两位数数字零填充。 在groovy中有一种优雅的方法吗?

我当然可以使用for循环来做到这一点,但是我找不到一种更优雅的方式来做到这一点。

2 个答案:

答案 0 :(得分:4)

简单的解决方法是:

(1..999).collect { String.format('%03d', it) }

操纵%03d以填充所需的任何填充。例如:

`%04d` => 0001
`%05d` => 00001
...... so on and so forth

答案 1 :(得分:3)

这可以解决:

(1..999).collect {
    it.toString().padLeft(3, '0')
}

或者您可能希望将填充调整到该范围:

def range = 1..999
def digitsNum = range.to.toString().length()
def padded = range.collect {
    it.toString().padLeft(digitsNum, '0')
}