Кто-нибудь знает, как преобразовать целое число в строковое значение с указанным количеством цифр с помощью кода скрипта Groovy? Например, я хочу преобразовать целочисленные значения 1, 2, 3, 4 в 4-значные строки как «0001», «0002», «0003» и «0004».
Как преобразовать целое число в строковое значение указанной длины с помощью скрипта Groovy
Ответы (3)
Просто используйте 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
Другие варианты можно найти здесь
person
tim_yates
schedule
18.07.2012
Как добавить настройки локализации десятичной пунктуации?
- person Seweryn Habdank-Wojewódzki; 22.10.2018
Используйте sprintf, который добавлен в класс Object, чтобы он всегда был доступен:
assert sprintf("%04d", 1) == "0001"
См. документацию JDK для строки формата для получения дополнительной информации.
person
astimony
schedule
18.07.2012
Вы можете использовать String.format(), как описано в JN1525-Strings.
values = [1, 2, 3, 4]
formatted = values.collect {
String.format('%04d', it)
}
assert formatted == ['0001', '0002', '0003', '0004']
person
Jonny Heggheim
schedule
18.07.2012