International Currency Formatting Guidelines — Currency Codes
In developing a web application that presents monetary data for a variety of locales, I have inquired about the differences of currency formats. In particular, I'd like to know when it is appropriate to use currency codes, either in addition to or instead of currency symbols.
It's my understanding that all mainstream currencies require that a currency symbol be included, but some show them in different order (as seen on this website). The four currencies that I facilitate in my application are USD, CAD, GBP, and EUR — all of which have the same general currency format.
It makes sense to include the currency codes for USD and CAD, since they have the same currency code, but what about the others? What's the norm in these other countries?
Anyway, I have below what I think to be the correct formats. Please let me know if I have made any errors:
• United States — $1,234,567.89 USD
• Canada — $1,234,567.89 CAD
• Great Britain — £1.234.567,89 GBP
• European — €1.234.567,89 EUR
Also, should there ever be spaces between the currency symbols and the numbers? That is yet another thing I do know happens sometimes, but am not sure what the rules are.
Ireland would write `EUR 1.234.567,89` as `EUR 1,234,567.89`: so a) use US/British commas and periods, and b) only use `€` or `EUR` not both.
While I agree that using `€` and `EUR` both is strange, I think I have to for consistency in this case. It's good to know that in other applications that's not what one should do.
Not all of the countries use those types of format, Display Formats Some like Chile for example, don't use decimals, thus don't need decimal separators.
I'll just answer for the Euro:
European — €1.234.567,89 EUR
Normally you'd use either the euro symbol or the 3-letter abbrevation, not both at the same time. The combination looks a bit odd, but is perfectly understandable.
The style guide used by the institutions of the European Union includes rules for expressing monetary units. The most important ones:
- Use the written name ('an amount in euros') when a monetary unit is referred to generally but an amount is not included
- ISO code ‘EUR’ followed by a fixed space and the amount in figures in written text (compulsory in legal texts). (In English, Irish, Latvian and Maltese. In all other official EU languages the order is reversed: 250 EUR).
- The euro sign € is primarily used in graphics. However, its use is also permitted in popular works and promotional publications (e.g. sales catalogues). No space after the euro sign: €35.
My personal preference would be €1.234.567,89 for most texts (that feels most natural and familiar) and 1.234.567,89 EUR for legal/formal documents (or EUR 1.234.567,89 when written in English).
UPDATE: Complete list of currency formats.
What about ranges? I wonder if this use of the sign would be correct to say 0,10 to 1 euros: €0,10 - €1
First of all, you need to be consistent. You can't show the currency code for some currencies but not for others, just because they don't have a unique symbol. You also can't rely on all your users knowing the symbols.
Regarding the format - maybe I'm misinterpreting your question, but it seems like you want to present each currency in the format customary in that country. This is not a good idea - the format isn't part of the currency, it's a regional preference. The same differences exist for math notation (commas vs. full stops as group and decimal separators), but we don't go citing the number of people in Russia as XXX.XXX,00 and in the US as XXX,XXX.00 :). Just as we don't change the time or date formats to reflect the preferences of the country we're referring to. The format should reflect the regional preferences of the user's location, not the subject.
I can't speak for other countries, but your presentation format for GBP is wrong - the group separator is the comma and the fractional separator is a full stop i.e.
- £1.234.567,89 - wrong
- £1,234,567.89 - correct
Actually, the page you linked to does show the UK presentation format correctly.
I'll second this. The one to watch is German as it uses commas and dots the opposite way around. I once worked on a software system with a web interface which had been developed in Germany: its back end processing didn't like Brits using it one bit as it tried to interpret big numbers as very small ones...
At least in Germany, the normal separator is a space:
€ 1 234 567,89.
(Make sure to use a non-breaking space, though:
1.234,00is perfectly understable, while
1.234would be confusing.
- Wikipedia uses
(space)for Switzerland/Liechtenstein (not Germany)
- ISO 1000 (SI system used in physics) recommends to use either
.as decimal seperator, and a narrow space as thousand seperator. (Deprecated since 2009 in favor of ISO/IEC 80000-1)
- There is no DIN norm about this? Can't believe that ...
Well, I'm a native german and live there for 42 years now and have rarely seen the space being used as a separator. Everyone I know uses the dot (.) as a separator. The space looks irritating if it's not a narrow one as proposed by ISO 1000... Using the . is definitely common practice in germany.
Cannot upvote (less reputations), but this is incorrect. Closest call is french formation with `1 234 567.89 €`. Other EUR countries format `1,234,567.89 €`
- Wikipedia uses
Your style is certainly adequate, unless you have a particularly fussy userbase. But it may not be standard, except in some constrained context, and almost exclusively to differentiate USD$ from CAD$, as € and £ aren't (very) ambiguous.
I've seen CAD$1,021,091.21 , which has the advantage of having the country named adjacent to the currency symbol, and the disadvantage of being cluttered near the most significant digit.
Whose standard should you choose? Perhaps look to MS Excel and publishers-to-the-world NYTimes, The Guardian, etc..