代码:
DecimalFormat df = (DecimalFormat) NumberFormat.getNumberInstance(locale);
df.applyPattern("#.##0,00");
,它带有畸形模式的消息"#。## 0,00"
抛出了一个违法的exception这有什么问题?
编辑:我想使用。作为一个成千上万的分隔符,作为十进制。我知道那是屁股,但有一个他们想要的格式的情况。
您需要使用模式"#,## 0。##"来指示要在哪里进行小数分离器和千分离器。 Locale
您在使用此DecimalFormat
时使用的是,将确定小数分离器是.
还是,
-不应更改模式。
如果您没有得到正确的分离器,则需要使用其他Locale
。
您不必使用其他Locale
。
您可以使用DecimalFormatSymbols
类来更改格式方法产生的格式数字中出现的符号。这些符号包括十进制分离器,分组分隔符,负符号和百分比符号等。
下一个示例通过将奇怪的格式应用于一个数字来演示DecimalFormatSymbols
类。不寻常的格式是调用setDecimalSeparator
,setGroupingSeparator
和setGroupingSize
方法的结果。
DecimalFormatSymbols unusualSymbols = new DecimalFormatSymbols(currentLocale);
unusualSymbols.setDecimalSeparator('|');
unusualSymbols.setGroupingSeparator('^');
String strange = "#,##0.###";
DecimalFormat weirdFormatter = new DecimalFormat(strange, unusualSymbols);
weirdFormatter.setGroupingSize(4);
String bizarre = weirdFormatter.format(12345.678);
System.out.println(bizarre);
运行时,此示例以奇异的格式打印数字:
1^2345|678
从:https://docs.oracle.com/javase/tutorial/i18n/format/decimalformat.html