My question is why do you have to use escape character when you can use like this,
System.out.printf("%,d",ii);
I believe by default it uses US locale unless you want to define locale using following method,
printf(Locale l,
String format,
Object... args)