该
DecimalFormat模式是,正如它的名字(和javadoc)说,一个纯粹的模式。在此模式中,
,代表分组分隔符,而
.代表十进制分隔符。这是完全一样为
MMM代表的缩写月
SimpleDateFormat(注意,它不返回
MMM为月格式化过程中,但就像
May或者例如
Mei取决于环境)。
格式化过程中,用作分组分隔符和十进制分隔符的 实际 字符(以及用作缩写月份的 实际
文本)取决于您的语言环境。这是正确的行为。如果您在创建
DecimalFormat(或
SimpleDateFormat)时未明确指定语言环境,则将采用默认的可用语言环境
Locale#getDefault()。实际上,您应该指定一个
UIViewRoot#getLocale()或固定的语言环境,例如,
Locale.ENGLISH如果出于某些不清楚的原因未对JSF
Web应用程序进行本地化。
另请注意,
DecimalFormat它(
SimpleDateFormat不是)不是线程安全的(请检查javadoc中的“同步”部分)。您不应在类/实例范围内创建它,而应在线程局部范围内(即与所需位置相同的方法块中)创建它。
我不知道
BigDecimalConverter您使用的是哪种,标准的JSF没有
getDecimalFormat()方法,因此我无法给出适当方法的更具体的示例。



