I'm formatting some currency in Java. This piece outputs 9,99 €
final NumberFormat nf = NumberFormat.getCurrencyInstance(new Locale("nl", "BE"));
nf.setCurrency(EUR);
nf.format(new BigDecimal("9.99"));
but one of our payment providers, which returns amounts preformatted, outputs € 9,99
Which is correct for nl-BE
?
And more programming related, if it turns out the payment provider, and not Java, is correct, how do I fix the Java way without hacks per locale (in the real code the Dutch in Belgium locale is not hardcoded)