Vous pouvez passer une Locale supplémentaire à java.lang.String.format ainsi qu'à java.io.PrintStream.printf (e.g. System.out.printf()) :
import java.util.Locale;
public class PrintfLocales {
public static void main(String args[]) {
System.out.printf("%.2f: Default locale\n", 3.1415926535);
System.out.printf(Locale.GERMANY, "%.2f: Germany locale\n", 3.1415926535);
System.out.printf(Locale.US, "%.2f: US locale\n", 3.1415926535);
}
}
Il en résulte ce qui suit (sur mon PC) :
$ java PrintfLocales
3.14: Default locale
3,14: Germany locale
3.14: US locale
Voir String.format dans l'API Java.