Spazik
Spazik

Reputation: 143

How to convert an integer into a String value with specified length using Groovy script

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".

Upvotes: 14

Views: 20904

Answers (3)

astimony
astimony

Reputation: 111

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.

Upvotes: 8

Jonny Heggheim
Jonny Heggheim

Reputation: 1453

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'] 

Upvotes: 4

tim_yates
tim_yates

Reputation: 171194

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

Upvotes: 22

Related Questions