我正在使用Locale(languageCode,countryCode)构造函数将BigDecimal货币值转换为特定于语言环境的货币格式,如下所示的代码。
根据Oracle文档,运行环境没有要求每个区域设置敏感类都必须支持所有语言环境。每个区域设置敏感类实现自己对一组语言环境的支持,而这个集合可以因类而异。例如,数字格式类可以支持不同于日期格式类的语言环境集。
由于用户输入了languageCode和countryCode,如果用户输入错误,例如,languageCode=de,countryCode=US,那么该怎么处理(或者说NumberFormat.getCurrencyInstance方法如何处理)?
它是否默认为某个语言环境?应该如何处理这种情况?
谢谢。
public static String formatCurrency(BigDecimal amount, String languageCode, String countryCode) {
Format format = NumberFormat.getCurrencyInstance(new Locale(languageCode, countryCode));
String formattedAmount = format.format(amount);
logger.debug("Orginal Amount {} and Formatted Amount {}", amount, formattedAmount);
return formattedAmount;
}
根据Oracle文档,运行环境没有要求每个区域设置敏感类都必须支持所有语言环境。每个区域设置敏感类实现自己对一组语言环境的支持,而这个集合可以因类而异。例如,数字格式类可以支持不同于日期格式类的语言环境集。
由于用户输入了languageCode和countryCode,如果用户输入错误,例如,languageCode=de,countryCode=US,那么该怎么处理(或者说NumberFormat.getCurrencyInstance方法如何处理)?
它是否默认为某个语言环境?应该如何处理这种情况?
谢谢。