在Java中将格式化为两位小数会产生逗号而不是点

fhb*_*ami 3 java double number-formatting

我已经阅读了很多线程,似乎是在我的双号中保留2个位置的最佳解决方案:

DecimalFormat df = new DecimalFormat("#.00");
double d = 1.234567;
System.out.println(df.format(d));
Run Code Online (Sandbox Code Playgroud)

但是当我使用它时,它会打印:

1,23

我想保留DOT,因为我需要使用这种格式(#.##)(我将它用作字符串).我该如何保留这个点?

Jon*_*eet 15

如果你想要一个点而不是一个逗号,你应该指定一个Locale使用点作为小数分隔符,例如

DecimalFormat df = new DecimalFormat("#.00",
                                    DecimalFormatSymbols.getInstance(Locale.US));
Run Code Online (Sandbox Code Playgroud)

基本上,"." 在格式模式中并不意味着"点",它表示"小数点分隔符".