DecimalFormat
使用','
作为默认的分组分隔符。
告诉DecimalFormat我们不想要任何分组分隔符的正确方法是什么?我目前使用symbols.setGroupingSeparator('\ 0'),它似乎工作, 但它看起来很难看。
DecimalFormatSymbols symbols = new DecimalFormatSymbols();
symbols.setDecimalSeparator('.');
symbols.setGroupingSeparator('\0');
DecimalFormat df = new DecimalFormat();
df.setDecimalFormatSymbols(symbols);
ParsePosition pp = new ParsePosition(0);
Number result = df.parse("44,000.0", pp); // this should fail, as I don't want any grouping separatator char.
if (pp.getIndex() != input.length())
throw new Exception("invalid number: " + input, 0);
告诉DecimalFormat我们不想要任何分组分隔符char的正确方法是什么?
答案 0 :(得分:34)
通过拨打setGroupingUsed
:
df.setGroupingUsed(false);
答案 1 :(得分:2)
您可以使用setGroupingUsed()
方法,但这不会使格式拒绝该数字,它将停止在第一个分隔符处解析。使用格式进行数字解析将忽略第一个无效字符后的所有内容。