How to format Double with dot?

Shikarn-O picture Shikarn-O · Mar 3, 2011 · Viewed 51.4k times · Source

How do I format a Double with String.format to String with a dot between the integer and decimal part?

String s = String.format("%.2f", price);

The above formats only with a comma: ",".

Answer

sfussenegger picture sfussenegger · Mar 3, 2011

String.format(String, Object ...) is using your JVM's default locale. You can use whatever locale using String.format(Locale, String, Object ...) or java.util.Formatter directly.

String s = String.format(Locale.US, "%.2f", price);

or

String s = new Formatter(Locale.US).format("%.2f", price);

or

// do this at application startup, e.g. in your main() method
Locale.setDefault(Locale.US);

// now you can use String.format(..) as you did before
String s = String.format("%.2f", price);

or

// set locale using system properties at JVM startup
java -Duser.language=en -Duser.region=US ...