Does anyone know how to convert an integer into a String value with specified number of digits in using Groovy script code? For example, I want to convert the integer values 1, 2, 3, 4 to the 4-digit strings as "0001", "0002", "0003" and "0004".
3 Answers
Just use Java's String.format:
def vals = [ 1, 2, 3, 4 ]
def strs = vals.collect {
String.format( "%04d", it )
}
strs.each { println it }
prints:
0001
0002
0003
0004
Other options can be found here
1 Comment
Seweryn Habdank-Wojewódzki
How to add localization settings for decimal punctuation?
Use sprintf, which is added to the Object class so it is always available:
assert sprintf("%04d", 1) == "0001"
See the JDK documentation for the format string for more information.
Comments
You can use String.format() like described in JN1525-Strings
values = [1, 2, 3, 4]
formatted = values.collect {
String.format('%04d', it)
}
assert formatted == ['0001', '0002', '0003', '0004']