在printf中作为分组分隔符的空格

ble*_*one 5 java

我知道如何使用逗号printf作为分组分隔符以格式打印值 1,000,000.00

打印它我正在使用命令

System.out.printf ("%,.2f", value);

但如何使用空格作为分组分隔符来格式化值 1 000 000.00

我试图找到解决方案,但DecimalFormat现在使用的解决方案让我复杂化(初学者级别). 有逗号这样的简单方法吗?

jal*_*aba 8

快速回答:

String result = String.format("%,.2f", value).replace(".", " ");
System.out.println(result);
Run Code Online (Sandbox Code Playgroud)

(假设您使用的是Java 1.5或更高版本).

使用DecimalFormat:

DecimalFormat formatter = (DecimalFormat) NumberFormat.getInstance(Locale.getDefault());
DecimalFormatSymbols symbols = formatter.getDecimalFormatSymbols();
String.format(symbols.getGroupingSeparator(), ' ')
Run Code Online (Sandbox Code Playgroud)

甚至更好:

symbols.setGroupingSeparator(' ');
f = new DecimalFormat("###,###.00", symbols);
System.out.println(f.format(value));
Run Code Online (Sandbox Code Playgroud)