我正在使用
让我解释一下,当格式化-125时,荷兰地区得到的结果是"€ 125-"(预期结果应该是"-€125")。英国的结果是"-£125.50",符合预期。
我可以检查当前语言环境是否为荷兰,并在每次格式化小数时提供特定的模式。但我更希望有一种方法来覆盖荷兰的格式设置。我考虑了以下解决方案:
这样每次在格式化时使用荷兰语区域设置时,我都能获得自定义格式。是否存在类似的解决方案?
NumberFormat.getCurrencyInstance().format(amount)
将货币从BigDecimal格式化为字符串。这个方法正常工作,但问题是我们的主要目标市场是荷兰,而默认荷兰格式有些奇怪。让我解释一下,当格式化-125时,荷兰地区得到的结果是"€ 125-"(预期结果应该是"-€125")。英国的结果是"-£125.50",符合预期。
我可以检查当前语言环境是否为荷兰,并在每次格式化小数时提供特定的模式。但我更希望有一种方法来覆盖荷兰的格式设置。我考虑了以下解决方案:
Locale nlLocale = new Locale("nl", "NL");
NumberFormat.getCurrencyInstance(new Locale("nl", "NL")).setFormatPattern("€ #");
这样每次在格式化时使用荷兰语区域设置时,我都能获得自定义格式。是否存在类似的解决方案?