I currently use the following code to print a double:
return String.format(\"%.2f\", someDouble);
This works well, except that Java uses my
You can pass an additional Locale to java.lang.String.format as well as to 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);
}
}
This results in the following (on my PC):
$ java PrintfLocales
3.14: Default locale
3,14: Germany locale
3.14: US locale
See String.format in the Java API.