Подтвердить что ты не робот

Как преобразовать целое число в значение String с указанной длиной, используя Groovy script

Кто-нибудь знает, как преобразовать целое число в значение String с указанным числом цифр при использовании кода Groovy script? Например, я хочу преобразовать целые значения 1, 2, 3, 4 в 4-значные строки как "0001", "0002", "0003" и "0004".

4b9b3361

Ответ 1

Просто используйте Java String.format:

def vals = [ 1, 2, 3, 4 ]

def strs = vals.collect {
  String.format( "%04d", it )
}

strs.each { println it }

печатает:

0001
0002
0003
0004

Другие варианты можно найти здесь

Ответ 2

Используйте sprintf, который добавляется к классу Object, поэтому он всегда доступен:

assert sprintf("%04d", 1) == "0001"

Дополнительную информацию см. в документации JDK для строки формата.

Ответ 3

Вы можете использовать String.format(), как описано в JN1525-Strings

values = [1, 2, 3, 4]
formatted = values.collect {
    String.format('%04d', it)
}
assert formatted == ['0001', '0002', '0003', '0004']