How do you display one hundred fifty two dollars and thirteen cents with numbers? If you’re an American you might write it like
$152.14, while a Dutch person might write
You’ll notice this if you change the international settings of your computer or phone from one country to another. But what are the rules being used? Apple, Microsoft, Oracle (Java), and others all use the Unicode CLDR (Common Locale Data Repository).
The CLDR defines patterns like
standard-currency (there’s also
accounting-currency). The baseline English pattern is
¤#,##0.00;(¤#,##0.00). The Dutch one is
¤ #,##0.00;¤ #,##0.00-. Related to this are the decimal separator (
, – and the grouping character (
. – for the Dutch locale.
This means that the CLDR tells us one thousand five hundred thirteen euros and twelve cents should be written using the Dutch locale as
€ 1513,12, while negative one thousand five hundred thirteen euros and twelve cents should be written as
€ 1.513,12-. The American locale would put it as
If you’re like many people, the formatting of these negative numbers is not what you’d expect. While the parentheses are common in accounting the US, I didn’t know if they are the official standard for other uses.
However, for the Dutch format, the CLDR format is wrong: Nederlandse Taalunie, the official body in charge of the Dutch language, says that the negative sign should come before the number. This means that the correct way to display a negative monetary amount in Dutch is
€ -1.513,12. Discounts should be written like
- € 1.513,12.