在java中,按3组拆分带有空格的数字

2022-09-04 07:15:28

有没有办法在java中拆分双精度数,以便所有3位数字组都用空格拆分,并且逗号后仅出现2位数字?用逗号分隔它们很容易:

DecimalFormat df = new DecimalFormat("###,###.00");
df.format(number);

所以这变成了235235.234234,234.23

我需要的是234 234.23

我该怎么做?


答案 1

我相信格式字符串中的逗号并不是真正的逗号 - 它只是您正在使用的分组符号。DecimalFormatSymbols

试试这个:

// TODO: Consider specifying a locale
DecimalFormatSymbols symbols = new DecimalFormatSymbols();
symbols.setGroupingSeparator(' ');
DecimalFormat df = new DecimalFormat("###,###.00", symbols);

或者作为最后一行的替代方法:

DecimalFormat df = new DecimalFormat();
df.setDecimalFormatSymbols(symbols);
df.setGroupingSize(3);
df.setMaximumFractionDigits(2);

答案 2