Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中,以3为一组,用空格分隔数字_Java_Split_Numbers - Fatal编程技术网

在java中,以3为一组,用空格分隔数字

在java中,以3为一组,用空格分隔数字,java,split,numbers,Java,Split,Numbers,在java中,有没有办法拆分一个双精度数字,以便所有3位数字的组都用空格拆分,逗号后只显示2位数字?很容易用逗号将它们分开: DecimalFormat df = new DecimalFormat("###,###.00"); df.format(number); 使235235.234变成234234.23 我需要的是234 234.23 我该怎么做?我相信格式字符串中的逗号不是真正的逗号-它只是您正在使用的十进制符号中的分组符号 试试这个: // TODO: Consider speci

在java中,有没有办法拆分一个双精度数字,以便所有3位数字的组都用空格拆分,逗号后只显示2位数字?很容易用逗号将它们分开:

DecimalFormat df = new DecimalFormat("###,###.00");
df.format(number);
使
235235.234
变成
234234.23

我需要的是
234 234.23


我该怎么做?

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

试试这个:

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

@Sergey与这个问题/答案并没有真正的联系,但有一个众所周知的技巧,通过使用
\uu
分隔组来提高java 7及更高版本中数字文本的可读性。示例:
public final static long SUNDIAMETER=1_390_000_000L我收到错误
没有方法签名:java.text.DecimalFormatSymbols.setGroupingSeparator()适用于参数类型:(java.lang.String)值:[]可能的解决方案:setGroupingSeparator(char),getGroupingSeparator()
:(@PrintlnParams:my code只使用
char
调用
setGroupingSeparate
,所以我不确定您使用的是什么代码。。。