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.

    Don't forget **₹1,23,45,678.90 INR** `:)`

    How can I get all countries, currency formats?

  • Marielle

    Marielle Correct answer

    9 years ago

    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

    What about displaying a negative amount in a region where negative monetary amounts are typically displayed with parenthesis around them? Would it be something like `Balance: (EUR 1234.42)` or `Balance: EUR (1234.43)` or something else?

  • 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.

    You make a good point of the format reflecting the location of the user. The application assumes that the currency a user selects reflects their location, though, so I think I'm good.

  • Depending on the country, in Europe we use the symbol € on the right, like this: 3.000,00 €

    For example in Spain, Germany and France it goes usually on the right but in Italy goes on the left.

  • 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: nbsp;).

    However, 1.234,00 is perfectly understable, while 1.234 would be confusing.


    • Wikipedia uses ' or (space) for Switzerland/Liechtenstein (not Germany)
    • ISO 1000 (SI system used in physics) recommends to use either , or . 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 €`

    This is totally **incorrect**. I live (and code) in Germany and here we use `.` (dot) for thousand and `,` (comma) for decimal separators. The French are the ones using space for thousand separator (honestly, it looks awful...)

  • 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..

License under CC-BY-SA with attribution

Content dated before 6/26/2020 9:53 AM