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