Search code examples
javalocalizationcurrency

What's the correct currency format in Belgian Dutch?


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)


Solution

  • If Wikipedia is to be believed, neither is incorrect:

    In Belgian Dutch, the euro sign can go before or after the amount, the latter being more common.