Какой правильный формат валюты на бельгийском голландском? - PullRequest
5 голосов
/ 27 сентября 2011

Я форматирую некоторую валюту в Java. Эта часть выводит 9,99 €

    final NumberFormat nf = NumberFormat.getCurrencyInstance(new Locale("nl", "BE"));
    nf.setCurrency(EUR);
    nf.format(new BigDecimal("9.99"));

но один из наших платежных систем, который возвращает предварительно отформатированные суммы, выдает € 9,99

Что правильно для nl-BE?

И еще в отношении программирования, если выяснится, что поставщик платежей, а не Java, является правильным, как я могу исправить способ Java без хаков для каждой локали (в реальном коде Голландский в Бельгии локаль не является жестко закодированным)

Ответы [ 2 ]

4 голосов
/ 27 сентября 2011

Если Википедии нужно верить , то ни то, ни другое неверно:

На бельгийском нидерландском языке знак евро может идти до или после суммы, последний чаще встречается.

1 голос
/ 27 сентября 2011

Краткий ответ: никому нет дела. Вы можете использовать любого.

Несколько более длинный ответ: если сумма указана в предложении, 9,99 € обычно больше. Если это в нижней части счета, используются оба. Не ждите, вы даже можете использовать евро вместо €.

Кстати, большинство людей даже ожидают 9,99 € вместо 9,99 € просто потому, что региональные данные были изобретены с опозданием на 25 лет .

Имейте ввиду, что это мнение парня fr-BE; -)

Это тот тип вещей, где я считаю, что информация о локали слишком старается дифференцировать соседние культуры. Подумайте о клавиатурах: есть раскладка для fr-FR и одна для fr-BE. Буквы, цифры и большинство знаков препинания находятся в одной и той же позиции, но несколько символов, таких как <</kbd>, > или @ , находятся в разных местах на клавиатуре. WTF!

...