如何用点格式化双精度?

2022-01-15 00:00:00 string format double java

如何将带有 String.format 的 Double 格式化为在整数和小数部分之间加点​​的字符串?

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: ",".

推荐答案

String.format(String, Object ...) 正在使用您的 JVM 的默认语言环境.您可以使用 String.format(Locale, String, Object ...)java.util.Formatter 直接.

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);

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

// 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);

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

相关文章