在groovy中,如何返回零填充范围?

在groovy中,如何返回零填充范围?,groovy,jenkins-groovy,Groovy,Jenkins Groovy,我需要返回一个介于001-999之间的值。 因此,我自然可以使用范围: return 1..999 但是我需要返回001到999之间的值,这意味着要将一位数和两位数归零。 在groovy中有没有一种优雅的方法可以做到这一点 当然,我可以用for循环来实现这一点,但可能有一种更优雅的方式来实现这一点,我找不到。这可能是一种解决方案: (1..999).collect { it.toString().padLeft(3, '0') } 或者,您可能希望您的填充可以调整到以下范围: def

我需要返回一个介于001-999之间的值。 因此,我自然可以使用范围:

return 1..999
但是我需要返回001到999之间的值,这意味着要将一位数和两位数归零。 在groovy中有没有一种优雅的方法可以做到这一点


当然,我可以用for循环来实现这一点,但可能有一种更优雅的方式来实现这一点,我找不到。

这可能是一种解决方案:

(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')
}

简单的解决办法是:

(1..999).collect { String.format('%03d', it) }
操纵
%03d
以填充所需的任何填充。例如:

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