Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Как преобразовать целое число в строковое значение указанной длины с помощью скрипта Groovy

Автор вопроса: SpazikОтветов: 3

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

stringgroovyint

Ответы

Ответ 1 · рейтинг 22 · tim_yates

Просто используйте 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 · рейтинг 8 · astimony

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

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

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

Ответ 3 · рейтинг 4 · Jonny Heggheim

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

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

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы