Java DecimalFormat没有分组分隔符字符
Java DecimalFormat没有分组分隔符字符,java,Java,DecimalFormat使用',作为默认分组分隔符 告诉DecimalFormat我们不需要任何分组分隔符字符的正确方法是什么?我目前使用symbols.setGroupingSeparator('\0'),它似乎可以工作, 但它看起来很丑 DecimalFormatSymbols symbols = new DecimalFormatSymbols(); symbols.setDecimalSeparator('.'); symbols.setGroupingSeparator('\0');
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”是一种不好的做法吗?
df.setGroupingUsed(false);