【发布时间】:2012-08-14 07:15:42
【问题描述】:
有没有办法在java中拆分一个双数,以便所有3位数字组都用空格分隔,并且逗号后只出现2位数字?用逗号很容易将它们分开:
DecimalFormat df = new DecimalFormat("###,###.00");
df.format(number);
这样235235.234就变成234,234.23
我需要的是234 234.23
我该怎么做?
【问题讨论】:
有没有办法在java中拆分一个双数,以便所有3位数字组都用空格分隔,并且逗号后只出现2位数字?用逗号很容易将它们分开:
DecimalFormat df = new DecimalFormat("###,###.00");
df.format(number);
这样235235.234就变成234,234.23
我需要的是234 234.23
我该怎么做?
【问题讨论】:
我相信您格式字符串中的逗号真的不是逗号 - 它只是您正在使用的 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);
【讨论】:
_ 来分隔组。示例:public final static long SUNDIAMETER = 1_390_000_000L;
No signature of method: java.text.DecimalFormatSymbols.setGroupingSeparator() is applicable for argument types: (java.lang.String) values: [ ] Possible solutions: setGroupingSeparator(char), getGroupingSeparator() :(
setGroupingSeparate 和 char,所以我不确定你使用的是什么代码......