Ad

What Does "%1$d" Mean In A Format String?

- 1 answer

I can't figure out what this %1$d format specifier means. Can someone help me?

int zahl = 100;
System.out.format("A number: %1$d %n", zahl);
Ad

Answer

x$ means arguments number x.

The following will print Hello World:

System.out.printf("%s %s", "Hello", "World");

Both below will print World Hello:

System.out.printf("%2$s %1$s", "Hello", "World");
System.out.printf("%s %s", "World", "Hello");

From https://docs.oracle.com/javase/7/docs/api/java/util/Formatter.html#syntax:

The format specifiers for general, character, and numerical types have the following syntax: %[argument_index$][flags][width][.precision]conversion

Ad
source: stackoverflow.com
Ad